팬덤 탈퇴 · 성운 창립자 권한 승계 · 대표 팬덤 자동 지정
This commit is contained in:
@@ -95,17 +95,21 @@ class _NoTopPercentRepository extends SamplePlanetRepository {
|
||||
class _Joinable extends SamplePlanetRepository {
|
||||
_Joinable();
|
||||
int joins = 0;
|
||||
int leaves = 0;
|
||||
|
||||
@override
|
||||
Future<void> join() async => joins++;
|
||||
|
||||
@override
|
||||
Future<void> leave() async => leaves++;
|
||||
|
||||
@override
|
||||
Future<PlanetDetail> load({required bool nebula}) async {
|
||||
final d = await super.load(nebula: nebula);
|
||||
return PlanetDetail(
|
||||
fandomId: d.fandomId, name: d.name, stage: d.stage, isNebula: d.isNebula,
|
||||
totalFpi: d.totalFpi, scores: d.scores, members: d.members, posts: d.posts,
|
||||
joined: joins > 0,
|
||||
joined: joins > leaves,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -120,11 +124,33 @@ void main() {
|
||||
await tester.pumpAndSettle();
|
||||
expect(repo.joins, 1);
|
||||
expect(find.text('가입중'), findsOneWidget);
|
||||
// 가입중 알약은 다시 눌러도 호출하지 않는다.
|
||||
// 가입중 알약은 다시 눌러도 가입을 부르지 않는다(탈퇴 시트가 열린다).
|
||||
await tester.tap(find.text('가입중'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(repo.joins, 1);
|
||||
});
|
||||
testWidgets('「가입중」 → 탈퇴하기 → 확인 창(343:213582)에서 확인해야 fn-fandom-leave 를 부른다', (tester) async {
|
||||
final repo = _Joinable()..joins = 1;
|
||||
await _pumpTall(tester, PlanetDetailScreen(repository: repo, eclipse: const NoEclipseRepository()));
|
||||
Future<void> openConfirm() async {
|
||||
await tester.tap(find.text('가입중'));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text('탈퇴하기'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('행성 탈퇴를 할까요?'), findsOneWidget);
|
||||
}
|
||||
|
||||
await openConfirm();
|
||||
await tester.tap(find.text('취소'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(repo.leaves, 0);
|
||||
|
||||
await openConfirm();
|
||||
await tester.tap(find.text('확인'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(repo.leaves, 1);
|
||||
expect(find.text('가입하기'), findsOneWidget);
|
||||
});
|
||||
group('행성 상세 · FPI (F3 · 343:213428)', () {
|
||||
testWidgets('TOTAL FPI 값과 갱신 주기를 띄운다', (tester) async {
|
||||
await _pumpTall(tester, const PlanetDetailScreen(
|
||||
|
||||
Reference in New Issue
Block a user