66 lines
2.0 KiB
Dart
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);
|
|
});
|
|
});
|
|
}
|