끝난 이클립스 합류 문구 · HOME 헤더 POP · 다국어 HOME 레이아웃 · 캠페인 표시 수정

This commit is contained in:
Sn-Kinos
2026-10-08 19:00:24 +09:00
parent a74edaef6b
commit 40b2c0e6f6
40 changed files with 1649 additions and 845 deletions
+38
View File
@@ -298,5 +298,43 @@ void main() {
expect(zap.balance, 100);
await tester.pump(const Duration(seconds: 2));
});
testWidgets('HOME 반영 문구는 행성 상자 위쪽 — 아래 성장 카드(행성 이름 · 말풍선)를 덮지 않는다(10/8 r11)', (tester) async {
final zap = ZapController(SampleGalaxyRepository(), onFailure: (_) {});
addTearDown(zap.dispose);
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: ListenableBuilder(
listenable: zap,
builder: (_, _) => ZapFeedback(
fandomName: 'BTS',
quest: zap.questReaction,
touchSerial: zap.touchSerial,
pending: zap.pending > 0 || zap.sending,
result: zap.result,
source: Offset.zero,
target: const Offset(200, 400),
radius: 80,
messageAboveTarget: true,
),
),
),
),
);
final reacting = zap.react();
await tester.pump(const Duration(milliseconds: 400));
await reacting;
await tester.pump();
final text = find.text('퀘스트 완료가 BTS 성장에 반영되었습니다');
expect(text, findsOneWidget);
// 행성 상자(반 변 80 / 0.4 / 2 = 100) 윗변 y300 에서 시작해 행성 중심(y400) 위에서 끝난다.
final box = tester.getRect(
find.ancestor(of: text, matching: find.byType(DecoratedBox)).first,
);
expect(box.top, 300);
expect(box.bottom, lessThan(400));
await tester.pump(const Duration(seconds: 2));
});
});
}