TF-3189 new option to enable/disable subaddressing for a personal folder
This commit is contained in:
committed by
Dat H. Pham
parent
f8f248fc3c
commit
89d80fe142
@@ -0,0 +1,54 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:jmap_dart_client/http/http_client.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/network/mailbox_api.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subaddressing_action.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
void main() {
|
||||
group('MailboxAPI.updateRightsForSubaddressing tests', () {
|
||||
const postingRight = 'p';
|
||||
final mailboxAPI = MailboxAPI(HttpClient(Dio()), const Uuid());
|
||||
|
||||
test('should add postingRight when action is allow and currentRights is empty', () {
|
||||
final result = mailboxAPI.updateRightsForSubaddressing(MailboxSubaddressingAction.allow, []);
|
||||
expect(result, contains(postingRight));
|
||||
expect(result.length, 1);
|
||||
});
|
||||
|
||||
test('should add postingRight when action is allow and currentRights does not contain postingRight', () {
|
||||
final result = mailboxAPI.updateRightsForSubaddressing(MailboxSubaddressingAction.allow, ['r', 'w']);
|
||||
expect(result, contains(postingRight));
|
||||
expect(result.length, 3);
|
||||
});
|
||||
|
||||
test('should not add postingRight if action is allow and postingRight already present', () {
|
||||
final result = mailboxAPI.updateRightsForSubaddressing(MailboxSubaddressingAction.allow, ['r', postingRight, 'w']);
|
||||
expect(result.where((right) => right == postingRight).length, 1);
|
||||
expect(result.length, 3);
|
||||
});
|
||||
|
||||
test('should remove postingRight if present and action is disallow', () {
|
||||
final result = mailboxAPI.updateRightsForSubaddressing(MailboxSubaddressingAction.disallow, ['r', postingRight, 'w']);
|
||||
expect(result, isNot(contains(postingRight)));
|
||||
expect(result.length, 2);
|
||||
});
|
||||
|
||||
test('should do nothing if postingRight is not present and action is disallow', () {
|
||||
final result = mailboxAPI.updateRightsForSubaddressing(MailboxSubaddressingAction.disallow, ['r', 'w']);
|
||||
expect(result, isNot(contains(postingRight)));
|
||||
expect(result.length, 2);
|
||||
});
|
||||
|
||||
test('should return empty list if action is disallow and currentRights is null', () {
|
||||
final result = mailboxAPI.updateRightsForSubaddressing(MailboxSubaddressingAction.disallow, null);
|
||||
expect(result, isEmpty);
|
||||
});
|
||||
|
||||
test('should return list with only postingRight if action is allow and currentRights is null', () {
|
||||
final result = mailboxAPI.updateRightsForSubaddressing(MailboxSubaddressingAction.allow, null);
|
||||
expect(result, contains(postingRight));
|
||||
expect(result.length, 1);
|
||||
});
|
||||
});
|
||||
}
|
||||
+4
@@ -44,6 +44,7 @@ import 'package:tmail_ui_user/features/mailbox/domain/usecases/mark_as_mailbox_r
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/move_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/refresh_all_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/rename_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subaddressing_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_multiple_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
|
||||
@@ -147,6 +148,7 @@ const fallbackGenerators = {
|
||||
MockSpec<MoveMailboxInteractor>(),
|
||||
MockSpec<SubscribeMailboxInteractor>(),
|
||||
MockSpec<SubscribeMultipleMailboxInteractor>(),
|
||||
MockSpec<SubaddressingInteractor>(),
|
||||
MockSpec<CreateDefaultMailboxInteractor>(),
|
||||
MockSpec<TreeBuilder>(),
|
||||
MockSpec<VerifyNameInteractor>(),
|
||||
@@ -251,6 +253,7 @@ void main() {
|
||||
final moveMailboxInteractor = MockMoveMailboxInteractor();
|
||||
final subscribeMailboxInteractor = MockSubscribeMailboxInteractor();
|
||||
final subscribeMultipleMailboxInteractor = MockSubscribeMultipleMailboxInteractor();
|
||||
final subaddressingInteractor = MockSubaddressingInteractor();
|
||||
final createDefaultMailboxInteractor = MockCreateDefaultMailboxInteractor();
|
||||
final treeBuilder = MockTreeBuilder();
|
||||
final verifyNameInteractor = MockVerifyNameInteractor();
|
||||
@@ -363,6 +366,7 @@ void main() {
|
||||
moveMailboxInteractor,
|
||||
subscribeMailboxInteractor,
|
||||
subscribeMultipleMailboxInteractor,
|
||||
subaddressingInteractor,
|
||||
createDefaultMailboxInteractor,
|
||||
treeBuilder,
|
||||
verifyNameInteractor,
|
||||
|
||||
+4
@@ -44,6 +44,7 @@ import 'package:tmail_ui_user/features/mailbox/domain/usecases/mark_as_mailbox_r
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/move_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/refresh_all_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/rename_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subaddressing_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_multiple_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
|
||||
@@ -151,6 +152,7 @@ const fallbackGenerators = {
|
||||
MockSpec<MoveMailboxInteractor>(),
|
||||
MockSpec<SubscribeMailboxInteractor>(),
|
||||
MockSpec<SubscribeMultipleMailboxInteractor>(),
|
||||
MockSpec<SubaddressingInteractor>(),
|
||||
MockSpec<CreateDefaultMailboxInteractor>(),
|
||||
MockSpec<TreeBuilder>(),
|
||||
MockSpec<VerifyNameInteractor>(),
|
||||
@@ -240,6 +242,7 @@ void main() {
|
||||
final moveMailboxInteractor = MockMoveMailboxInteractor();
|
||||
final subscribeMailboxInteractor = MockSubscribeMailboxInteractor();
|
||||
final subscribeMultipleMailboxInteractor = MockSubscribeMultipleMailboxInteractor();
|
||||
final subaddressingInteractor = MockSubaddressingInteractor();
|
||||
final createDefaultMailboxInteractor = MockCreateDefaultMailboxInteractor();
|
||||
final treeBuilder = MockTreeBuilder();
|
||||
final verifyNameInteractor = MockVerifyNameInteractor();
|
||||
@@ -356,6 +359,7 @@ void main() {
|
||||
moveMailboxInteractor,
|
||||
subscribeMailboxInteractor,
|
||||
subscribeMultipleMailboxInteractor,
|
||||
subaddressingInteractor,
|
||||
createDefaultMailboxInteractor,
|
||||
treeBuilder,
|
||||
verifyNameInteractor,
|
||||
|
||||
Reference in New Issue
Block a user