Write unit test for sMimeStatus method

This commit is contained in:
dab246
2024-08-27 15:12:20 +07:00
committed by Dat H. Pham
parent 0c4076cab6
commit ef90aac122
3 changed files with 339 additions and 130 deletions
@@ -0,0 +1,48 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_header.dart';
import 'package:model/email/email_property.dart';
import 'package:model/extensions/list_email_header_extension.dart';
void main() {
group('ListEmailHeaderExtension::test', () {
test('sMimeStatus returns correct value when header `X-SMIME-Status` is present', () {
final emailHeaders = {
EmailHeader(EmailProperty.headerSMimeStatusKey, 'Good signature')
};
expect(emailHeaders.sMimeStatus, 'Good signature');
});
test('sMimeStatus returns empty string when header is absent', () {
final emailHeaders = {
EmailHeader('OtherHeader', 'Value')
};
expect(emailHeaders.sMimeStatus, '');
});
test('sMimeStatus returns empty string for null set', () {
Set<EmailHeader>? emailHeaders;
expect(emailHeaders.sMimeStatus, '');
});
test('sMimeStatus trims start whitespace from the value', () {
final emailHeaders = {
EmailHeader(EmailProperty.headerSMimeStatusKey, ' Good signature')
};
expect(emailHeaders.sMimeStatus, 'Good signature');
});
test('sMimeStatus trims end whitespace from the value', () {
final emailHeaders = {
EmailHeader(EmailProperty.headerSMimeStatusKey, 'Good signature ')
};
expect(emailHeaders.sMimeStatus, 'Good signature');
});
test('sMimeStatus trims start-end whitespace from the value', () {
final emailHeaders = {
EmailHeader(EmailProperty.headerSMimeStatusKey, ' Good signature ')
};
expect(emailHeaders.sMimeStatus, 'Good signature');
});
});
}