MockKAuth.demo constructor

MockKAuth.demo({
  1. KAuthUser? user,
  2. bool signedIn = true,
  3. List<AuthProvider> configuredProviders = const [AuthProvider.kakao, AuthProvider.naver, AuthProvider.google, AuthProvider.apple],
})

데모 모드로 생성

API 키 없이 UI/UX를 테스트할 수 있습니다. 기본 데모 사용자로 시작하거나, 커스텀 사용자를 지정할 수 있습니다.

// 기본 데모 사용자
final kAuth = MockKAuth.demo();

// 커스텀 데모 사용자
final kAuth = MockKAuth.demo(
  user: KAuthUser(id: 'demo', name: '데모 사용자'),
);

// 로그아웃 상태에서 시작
final kAuth = MockKAuth.demo(signedIn: false);

Implementation

factory MockKAuth.demo({
  KAuthUser? user,
  bool signedIn = true,
  List<AuthProvider> configuredProviders = const [
    AuthProvider.kakao,
    AuthProvider.naver,
    AuthProvider.google,
    AuthProvider.apple,
  ],
}) {
  final demoUser = user ??
      const KAuthUser(
        id: 'demo_user',
        provider: AuthProvider.kakao,
        email: 'demo@example.com',
        name: '데모 사용자',
        avatar: null,
      );

  final mock = MockKAuth(
    mockUser: demoUser,
    mockConfiguredProviders: configuredProviders,
  );

  if (signedIn) {
    mock._currentUser = demoUser;
    mock._expiresAt = DateTime.now().add(const Duration(hours: 24));
  }

  mock._initialized = true;
  return mock;
}