Use custom mapCapabilitiesConverter to apply some outside capabilities

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-03 15:41:13 +07:00
committed by Dat H. Pham
parent e7e89789c7
commit f1d9fa65de
6 changed files with 41 additions and 129 deletions
@@ -1,7 +1,6 @@
import 'package:contact/contact_module.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:jmap_dart_client/jmap/core/account/account.dart';
import 'package:jmap_dart_client/jmap/core/capability/default_capability.dart';
import 'package:jmap_dart_client/jmap/core/capability/empty_capability.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/core/state.dart';
@@ -143,114 +142,11 @@ void main() {
expect(result?.httpLink, equals(contactSupportCapability.httpLink));
});
test('SHOULD return ContactSupportCapability WHEN DefaultCapability is available ', () {
// Arrange
const supportMailAddress = 'contact.support@example.com';
const httpLink = 'https://contact.support';
final defaultCapability = DefaultCapability({
'supportMailAddress': supportMailAddress,
'httpLink': httpLink,
});
final session = Session(
{
SessionExtensions.linagoraContactSupportCapability: defaultCapability
},
{
AccountFixtures.aliceAccountId: Account(
AccountName('Alice'),
true,
false,
{
SessionExtensions.linagoraContactSupportCapability: defaultCapability
},
)
},
{},
UserName(''),
Uri(),
Uri(),
Uri(),
Uri(),
State(''),
);
// Act
final result = session.getContactSupportCapability(AccountFixtures.aliceAccountId);
// Assert
expect(result?.supportMailAddress, equals(supportMailAddress));
expect(result?.httpLink, equals(httpLink));
});
test('SHOULD return null WHEN ContactSupportCapability is not available (EmptyCapability)', () {
// Arrange
final session = Session(
{
SessionExtensions.linagoraContactSupportCapability: EmptyCapability()
},
{
AccountFixtures.aliceAccountId: Account(
AccountName('Alice'),
true,
false,
{
SessionExtensions.linagoraContactSupportCapability: EmptyCapability()
},
)
},
{},
UserName(''),
Uri(),
Uri(),
Uri(),
Uri(),
State(''),
);
// Act
final result = session.getContactSupportCapability(AccountFixtures.aliceAccountId);
// Assert
expect(result, isNull);
});
test('SHOULD return null WHEN ContactSupportCapability is not available (empty ContactSupportCapability)', () {
test('SHOULD return null WHEN ContactSupportCapability is not available', () {
// Arrange
final session = Session(
{
SessionExtensions.linagoraContactSupportCapability: ContactSupportCapability()
},
{
AccountFixtures.aliceAccountId: Account(
AccountName('Alice'),
true,
false,
{
SessionExtensions.linagoraContactSupportCapability: EmptyCapability()
},
)
},
{},
UserName(''),
Uri(),
Uri(),
Uri(),
Uri(),
State(''),
);
// Act
final result = session.getContactSupportCapability(AccountFixtures.aliceAccountId);
// Assert
expect(result, isNull);
});
test('SHOULD return null WHEN ContactSupportCapability is not available (empty DefaultCapability)', () {
// Arrange
final session = Session(
{
SessionExtensions.linagoraContactSupportCapability: DefaultCapability({})
SessionExtensions.linagoraContactSupportCapability: EmptyCapability()
},
{
AccountFixtures.aliceAccountId: Account(