Files
workavia-mail-front/model/test/extensions/presentattion_email_extension_test.dart
T

66 lines
2.0 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:model/extensions/presentation_email_extension.dart';
import 'package:model/email/presentation_email.dart';
void main() {
group('PresentationEmailExtension::getCountMailAddressWithoutMe::', () {
test('Should return the correct count of email addresses excluding the user', () {
// Arrange
final email = PresentationEmail(
to: {EmailAddress('Alice', 'alice@example.com')},
cc: {EmailAddress('Bob', 'bob@example.com')},
bcc: {EmailAddress('Charlie', 'charlie@example.com')},
from: {EmailAddress('User', 'user@example.com')},
);
// Act
final count = email.getCountMailAddressWithoutMe('user@example.com');
// Assert
expect(count, 3);
});
test('Should return 0 when all email addresses are the user', () {
// Arrange
final email = PresentationEmail(
to: {EmailAddress('User', 'user@example.com')},
cc: {EmailAddress('User', 'user@example.com')},
bcc: {EmailAddress('User', 'user@example.com')},
from: {EmailAddress('User', 'user@example.com')},
);
// Act
final count = email.getCountMailAddressWithoutMe('user@example.com');
// Assert
expect(count, 0);
});
test('Should return the correct count excluding multiple instances of the user', () {
// Arrange
final email = PresentationEmail(
to: {
EmailAddress('Alice', 'alice@example.com'),
EmailAddress('User', 'user@example.com')
},
cc: {
EmailAddress('User', 'user@example.com')
},
bcc: {
EmailAddress('Charlie', 'charlie@example.com')
},
from: {
EmailAddress('User', 'user@example.com')
},
);
// Act
final count = email.getCountMailAddressWithoutMe('user@example.com');
// Assert
expect(count, 2);
});
});
}