import 'package:flutter/material.dart'; import 'package:injectable/injectable.dart'; import 'package:uae_stat/domain/entities/preferences_entity.dart'; import 'package:uae_stat/domain/entities/session_entity.dart'; @test @injectable class TAuthRepo { static final _sample = SessionEntity( id: '', expiresOn: DateTime.now().add( const Duration(days: 30), ), token: 'token', modelJson: {'favorites': []}, ); static SessionEntity? _state; Future fetchLocallyStored() => Future.delayed( kThemeAnimationDuration, () => _state, ); /// throws [LoginError] Future login( String email, String pw, ) => Future.delayed( kThemeAnimationDuration, () => _sample, ); Future fetchRefreshedSession() => Future.delayed( kThemeAnimationDuration, () => _state!, ); Future googleAndAppleAuthencation(token) => Future.delayed( kThemeAnimationDuration, () => _sample, ); Future logout() => Future.delayed( kThemeAnimationDuration, () => _state = null, ); /// throws [RegisterError] Future register({ required String name, required String email, required String pw, required PreferencesEntity preferences, }) => Future.delayed( kThemeAnimationDuration, ); Future requestEmailVerification( String email, ) => Future.delayed( kThemeAnimationDuration, ); Future requestPwReset( String email, ) => Future.delayed( kThemeAnimationDuration, ); bool didSessionExpire() => false; }