46 lines
1.3 KiB
Dart
46 lines
1.3 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:yumi/shared/business_logic/models/res/sc_room_rocket_status_res.dart';
|
|
import 'package:yumi/ui_kit/widgets/room/rocket/room_rocket_dialog.dart';
|
|
import 'package:yumi/ui_kit/widgets/room/rocket/room_rocket_floating_entry.dart';
|
|
|
|
void main() {
|
|
test('rocket dialog title displays current level before daily round', () {
|
|
expect(debugRoomRocketTitleText(level: 3, round: 1), 'Lv.3 Today');
|
|
expect(
|
|
debugRoomRocketTitleText(level: 2, round: 4),
|
|
'Lv.2 · Round 4 Today',
|
|
);
|
|
});
|
|
|
|
test(
|
|
'rocket level rail follows current level unless user selected manually',
|
|
() {
|
|
final status = SCRoomRocketStatusRes.fromJson({'currentLevel': 4});
|
|
const levels = [
|
|
RoomRocketLevelItem(label: 'Lv.2', level: 2),
|
|
RoomRocketLevelItem(label: 'Lv.4', level: 4),
|
|
RoomRocketLevelItem(label: 'Lv.5', level: 5),
|
|
];
|
|
|
|
expect(
|
|
debugResolveRoomRocketSelectedLevelIndex(
|
|
levelItems: levels,
|
|
status: status,
|
|
selectedLevel: 0,
|
|
levelTouched: false,
|
|
),
|
|
1,
|
|
);
|
|
expect(
|
|
debugResolveRoomRocketSelectedLevelIndex(
|
|
levelItems: levels,
|
|
status: status,
|
|
selectedLevel: 2,
|
|
levelTouched: true,
|
|
),
|
|
2,
|
|
);
|
|
},
|
|
);
|
|
}
|