Hotfix cannot set default identity
This commit is contained in:
@@ -27,9 +27,7 @@ class GetAllIdentitiesInteractor {
|
|||||||
_identityUtils.sortListIdentities(identitiesResponse.identities!);
|
_identityUtils.sortListIdentities(identitiesResponse.identities!);
|
||||||
}
|
}
|
||||||
yield Right(GetAllIdentitiesSuccess(
|
yield Right(GetAllIdentitiesSuccess(
|
||||||
identitiesResponse.identities
|
identitiesResponse.identities,
|
||||||
?.where((identity) => identity.name?.trim().isNotEmpty == true)
|
|
||||||
.toList(),
|
|
||||||
identitiesResponse.state));
|
identitiesResponse.state));
|
||||||
} catch (exception) {
|
} catch (exception) {
|
||||||
yield Left(GetAllIdentitiesFailure(exception));
|
yield Left(GetAllIdentitiesFailure(exception));
|
||||||
|
|||||||
+1
-1
@@ -139,7 +139,7 @@ class IdentitiesController extends BaseController {
|
|||||||
void _handleGetAllIdentitiesSuccess(GetAllIdentitiesSuccess success) {
|
void _handleGetAllIdentitiesSuccess(GetAllIdentitiesSuccess success) {
|
||||||
if (success.identities?.isNotEmpty == true) {
|
if (success.identities?.isNotEmpty == true) {
|
||||||
final newListIdentities = success.identities!
|
final newListIdentities = success.identities!
|
||||||
.where((identity) => identity.mayDelete == true)
|
.where((identity) => identity.mayDelete == true && identity.name?.trim().isNotEmpty == true)
|
||||||
.toList();
|
.toList();
|
||||||
listAllIdentities.addAll(newListIdentities);
|
listAllIdentities.addAll(newListIdentities);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,53 +0,0 @@
|
|||||||
import 'package:dartz/dartz.dart' hide State;
|
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
|
||||||
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
|
||||||
import 'package:mockito/annotations.dart';
|
|
||||||
import 'package:mockito/mockito.dart';
|
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/model/identities_response.dart';
|
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/repository/identity_repository.dart';
|
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
|
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
|
|
||||||
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/utils/identity_utils.dart';
|
|
||||||
|
|
||||||
import '../../../../fixtures/account_fixtures.dart';
|
|
||||||
import '../../../../fixtures/session_fixtures.dart';
|
|
||||||
import 'get_all_identities_interactor_test.mocks.dart';
|
|
||||||
|
|
||||||
@GenerateNiceMocks([MockSpec<IdentityRepository>()])
|
|
||||||
void main() {
|
|
||||||
final identityRepository = MockIdentityRepository();
|
|
||||||
final getAllIdentitiesInteractor = GetAllIdentitiesInteractor(
|
|
||||||
identityRepository,
|
|
||||||
IdentityUtils());
|
|
||||||
|
|
||||||
group('get all identities interactor test:', () {
|
|
||||||
test(
|
|
||||||
'should return only identities which name is not empty',
|
|
||||||
() {
|
|
||||||
// arrange
|
|
||||||
final identity1 = Identity(name: '');
|
|
||||||
final identity2 = Identity();
|
|
||||||
final identity3 = Identity(name: 'valid name');
|
|
||||||
final identity4 = Identity(name: ' ');
|
|
||||||
when(identityRepository.getAllIdentities(any, any)).thenAnswer(
|
|
||||||
(_) async => IdentitiesResponse(identities: [
|
|
||||||
identity1,
|
|
||||||
identity2,
|
|
||||||
identity3,
|
|
||||||
identity4
|
|
||||||
])
|
|
||||||
);
|
|
||||||
|
|
||||||
// assert
|
|
||||||
expect(
|
|
||||||
getAllIdentitiesInteractor.execute(
|
|
||||||
SessionFixtures.aliceSession,
|
|
||||||
AccountFixtures.aliceAccountId),
|
|
||||||
emitsInOrder([
|
|
||||||
Right(GetAllIdentitiesLoading()),
|
|
||||||
Right(GetAllIdentitiesSuccess([identity3], null))
|
|
||||||
])
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
+31
@@ -3,14 +3,20 @@ import 'package:core/presentation/resources/image_paths.dart';
|
|||||||
import 'package:core/presentation/utils/app_toast.dart';
|
import 'package:core/presentation/utils/app_toast.dart';
|
||||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||||
import 'package:core/utils/application_manager.dart';
|
import 'package:core/utils/application_manager.dart';
|
||||||
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
||||||
import 'package:mockito/annotations.dart';
|
import 'package:mockito/annotations.dart';
|
||||||
|
import 'package:mockito/mockito.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
|
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/data/local/language_cache_manager.dart';
|
import 'package:tmail_ui_user/features/manage_account/data/local/language_cache_manager.dart';
|
||||||
|
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/create_new_default_identity_interactor.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/usecases/create_new_default_identity_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/create_new_identity_interactor.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/usecases/create_new_identity_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/delete_identity_interactor.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/usecases/delete_identity_interactor.dart';
|
||||||
@@ -30,6 +36,7 @@ import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
|
|||||||
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
|
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
|
||||||
import 'package:uuid/uuid.dart';
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
|
import '../../../../../fixtures/session_fixtures.dart';
|
||||||
import 'identities_controller_test.mocks.dart';
|
import 'identities_controller_test.mocks.dart';
|
||||||
|
|
||||||
mockControllerCallback() => InternalFinalCallback<void>(callback: () {});
|
mockControllerCallback() => InternalFinalCallback<void>(callback: () {});
|
||||||
@@ -195,5 +202,29 @@ void main() {
|
|||||||
tag: BindingTag.cleanUpPublicAssetsInteractorBindingsTag),
|
tag: BindingTag.cleanUpPublicAssetsInteractorBindingsTag),
|
||||||
false);
|
false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test(
|
||||||
|
'should only show identities with name not empty',
|
||||||
|
() async {
|
||||||
|
// arrange
|
||||||
|
final identity1 = Identity(name: '', mayDelete: true);
|
||||||
|
final identity2 = Identity(mayDelete: true);
|
||||||
|
final identity3 = Identity(name: 'valid name', mayDelete: true);
|
||||||
|
final identity4 = Identity(name: ' ', mayDelete: true);
|
||||||
|
when(mockGetAllIdentitiesInteractor.execute(any, any, properties: anyNamed('properties')))
|
||||||
|
.thenAnswer((_) => Stream.value(Right(GetAllIdentitiesSuccess(
|
||||||
|
[identity1, identity2, identity3, identity4],
|
||||||
|
null))));
|
||||||
|
when(mockManageAccountDashBoardController.accountId).thenReturn(Rxn());
|
||||||
|
when(mockManageAccountDashBoardController.sessionCurrent).thenReturn(SessionFixtures.aliceSession);
|
||||||
|
|
||||||
|
// act
|
||||||
|
identitiesController.onInit();
|
||||||
|
mockManageAccountDashBoardController.accountId.value = AccountId(Id('value'));
|
||||||
|
await untilCalled(mockGetAllIdentitiesInteractor.execute(any, any, properties: anyNamed('properties')));
|
||||||
|
|
||||||
|
// assert
|
||||||
|
await expectLater(identitiesController.listAllIdentities, [identity3]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user