1차 보완(0.1.1+14) 내용 합치기
This commit is contained in:
@@ -18,6 +18,7 @@ import 'package:fancake/features/my/settings_screen.dart';
|
||||
import 'package:fancake/features/my/support_screens.dart';
|
||||
import 'package:fancake/features/my/tier_screens.dart';
|
||||
import 'package:fancake/features/my/widgets/profile_card.dart';
|
||||
import 'package:fancake/features/quest/location_consent.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:fancake/core/push/push_messaging.dart';
|
||||
@@ -466,6 +467,29 @@ void main() {
|
||||
expect(find.text('연결'), findsNWidgets(2));
|
||||
});
|
||||
|
||||
testWidgets('위치기반 서비스 동의 — 켜면 동의 창을 거쳐 기록, 끄면 철회 행 (Q-E1 · R02)', (tester) async {
|
||||
SampleLocationConsent.shared
|
||||
..value = false
|
||||
..records.clear();
|
||||
await pumpWide(tester, SettingsScreen(repository: SampleMyRepository()));
|
||||
await tester.pump();
|
||||
final row = find.ancestor(of: find.text('위치기반 서비스 이용 동의'), matching: find.byType(Row));
|
||||
final toggle = find.descendant(of: row, matching: find.byType(Switch));
|
||||
await tester.scrollUntilVisible(toggle, 200);
|
||||
await tester.ensureVisible(toggle);
|
||||
await tester.pumpAndSettle();
|
||||
expect(tester.widget<Switch>(toggle).value, isFalse);
|
||||
await tester.tap(toggle);
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text('동의'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(tester.widget<Switch>(toggle).value, isTrue);
|
||||
await tester.tap(toggle);
|
||||
await tester.pumpAndSettle();
|
||||
expect(tester.widget<Switch>(toggle).value, isFalse);
|
||||
expect(SampleLocationConsent.shared.records, [true, false]);
|
||||
});
|
||||
|
||||
testWidgets('최신 버전이면 번호 대신 안내를 쓴다', (tester) async {
|
||||
await pumpWide(tester, SettingsScreen(repository: SampleMyRepository()));
|
||||
await tester.pump();
|
||||
@@ -547,26 +571,6 @@ void main() {
|
||||
});
|
||||
|
||||
group('SNS 연동 (F6 · 357:222740 외 3)', () {
|
||||
test('이메일 전체가 같을 때만 같은 계정으로 본다', () {
|
||||
// 앞부분만 같고 도메인이 다르면 다른 계정이다.
|
||||
expect(
|
||||
sameAccountIdentity('test123@naver.com', 'test123@gmail.com'),
|
||||
isFalse,
|
||||
);
|
||||
expect(
|
||||
sameAccountIdentity('test123@naver.com', 'other123@gmail.com'),
|
||||
isFalse,
|
||||
);
|
||||
// 대소문자·앞뒤 공백은 정규화한다.
|
||||
expect(
|
||||
sameAccountIdentity(' Test123@Naver.com ', 'test123@naver.com'),
|
||||
isTrue,
|
||||
);
|
||||
// 빈 값 · `@` 없는 값은 이메일이 아니다.
|
||||
expect(sameAccountIdentity('', ''), isFalse);
|
||||
expect(sameAccountIdentity('test123', 'test123'), isFalse);
|
||||
});
|
||||
|
||||
// 별첨 B v1.4 — *하나의 FANUZU UID 에 복수 소셜 Provider 연결은 허용합니다.*
|
||||
test('연동 대상은 확정 4종이고 X 는 없다', () {
|
||||
expect(linkableProviders, const [
|
||||
|
||||
Reference in New Issue
Block a user