Merge branch 'feature/switch-ia'
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import 'package:bully/services/wallet_identity_service.dart';
|
||||
|
||||
void main() {
|
||||
TestWidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
setUp(() => SharedPreferences.setMockInitialValues({}));
|
||||
|
||||
group('WalletIdentityService - consentement IA', () {
|
||||
test('rien n\'est accepté ni activé à la première utilisation', () async {
|
||||
final service = WalletIdentityService();
|
||||
|
||||
expect(await service.isUploadEnabled(), isFalse);
|
||||
expect(await service.hasAcceptedAiTerms(), isFalse);
|
||||
});
|
||||
|
||||
test('activer l\'option des Paramètres vaut acceptation des règles',
|
||||
() async {
|
||||
final service = WalletIdentityService();
|
||||
|
||||
await service.setUploadEnabled(true);
|
||||
|
||||
expect(await service.isUploadEnabled(), isTrue);
|
||||
expect(await service.hasAcceptedAiTerms(), isTrue);
|
||||
});
|
||||
|
||||
test('désactiver l\'option ne fait pas oublier les règles acceptées',
|
||||
() async {
|
||||
final service = WalletIdentityService();
|
||||
|
||||
await service.setUploadEnabled(true);
|
||||
await service.setUploadEnabled(false);
|
||||
|
||||
expect(await service.isUploadEnabled(), isFalse);
|
||||
// Le switch de fin de session ne redemandera donc pas l'avertissement.
|
||||
expect(await service.hasAcceptedAiTerms(), isTrue);
|
||||
});
|
||||
|
||||
test('accepter depuis le switch de fin de session n\'active pas l\'option '
|
||||
'globale', () async {
|
||||
final service = WalletIdentityService();
|
||||
|
||||
await service.setAiTermsAccepted(true);
|
||||
|
||||
expect(await service.hasAcceptedAiTerms(), isTrue);
|
||||
expect(await service.isUploadEnabled(), isFalse);
|
||||
});
|
||||
|
||||
test('un compte banni ne peut plus activer l\'envoi', () async {
|
||||
final service = WalletIdentityService();
|
||||
|
||||
await service.setBanned(true, reason: 'Cibles non conformes');
|
||||
await service.setUploadEnabled(true);
|
||||
|
||||
expect(await service.isBanned(), isTrue);
|
||||
expect(await service.isUploadEnabled(), isFalse);
|
||||
expect(await service.hasAcceptedAiTerms(), isFalse);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user