yumi-flutter/test/rtc_self_mic_snapshot_test.dart

34 lines
1.2 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:yumi/services/audio/rtc_manager.dart';
import 'package:yumi/shared/business_logic/models/res/login_res.dart';
import 'package:yumi/shared/business_logic/models/res/mic_res.dart';
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
void main() {
test('self go-up keeps optimistic mic seat over stale mic list data', () {
SharedPreferences.setMockInitialValues({});
AccountStorage().setCurrentUser(
SocialChatLoginRes(
userProfile: SocialChatUserProfile(id: 'user-1', userNickname: 'Me'),
),
);
final rtcProvider =
RealTimeCommunicationManager()
..roomWheatMap = {
3: MicRes(
micIndex: 3,
user: SocialChatUserProfile(id: 'user-1', userNickname: 'Me'),
),
};
rtcProvider.debugStartSelfMicGoUpGuard(3);
rtcProvider.debugApplyMicListSnapshot([
MicRes(micIndex: 3),
], notifyIfUnchanged: false);
expect(rtcProvider.roomWheatMap[3]?.user?.id, 'user-1');
expect(rtcProvider.isOnMai(), isTrue);
});
}