yumi-flutter/test/lucky_gift_reward_merge_test.dart
2026-05-09 11:28:40 +08:00

43 lines
1.3 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:yumi/shared/business_logic/models/res/sc_broad_cast_luck_gift_push.dart';
void main() {
group('lucky gift reward merge', () {
test('accumulates reward amount and keeps the strongest multiplier', () {
final first = SCBroadCastLuckGiftPush.fromJson({
'type': 'GAME_LUCKY_GIFT',
'data': {
'roomId': 'room-1',
'giftId': 'gift-1',
'sendUserId': 'sender-1',
'acceptUserId': 'receiver-1',
'awardAmount': 5000,
'giftQuantity': 1,
'multiple': 10,
'multipleType': 'WIN',
},
});
final second = SCBroadCastLuckGiftPush.fromJson({
'type': 'GAME_LUCKY_GIFT',
'data': {
'roomId': 'room-1',
'giftId': 'gift-1',
'sendUserId': 'sender-1',
'acceptUserId': 'receiver-1',
'awardAmount': 12000,
'giftQuantity': 2,
'multiple': 30,
'multipleType': 'BIG_WIN',
},
});
final merged = first.mergeReward(second);
expect(merged.data?.awardAmount, 17000);
expect(merged.data?.giftQuantity, 3);
expect(merged.data?.multiple, 30);
expect(merged.data?.multipleType, 'BIG_WIN');
});
});
}