280 lines
7.6 KiB
Dart
280 lines
7.6 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
|
import 'package:jmap_dart_client/jmap/mail/email/email_header.dart';
|
|
import 'package:jmap_dart_client/jmap/mail/email/individual_header_identifier.dart';
|
|
import 'package:model/email/email_property.dart';
|
|
import 'package:tmail_ui_user/features/email/presentation/extensions/email_extension.dart';
|
|
import 'package:tmail_ui_user/features/email/presentation/model/smime_signature_status.dart';
|
|
|
|
void main() {
|
|
group('EmailExtension::sMimeStatus::test', () {
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.goodSignature`\n'
|
|
'WHEN email has sMimeStatusHeader is `Good signature`\n'
|
|
'AND headers is null', () {
|
|
final email = Email(
|
|
sMimeStatusHeader: {
|
|
IndividualHeaderIdentifier.sMimeStatusHeader: 'Good signature'
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.goodSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.goodSignature`\n'
|
|
'WHEN email has headers is `Good signature`\n'
|
|
'AND sMimeStatusHeader is null', () {
|
|
final email = Email(
|
|
headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
'Good signature')
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.goodSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.badSignature`\n'
|
|
'WHEN sMimeStatusHeader is `Bad signature`',
|
|
() {
|
|
final email = Email(
|
|
sMimeStatusHeader: {
|
|
IndividualHeaderIdentifier.sMimeStatusHeader: 'Bad signature'
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.badSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.badSignature`\n'
|
|
'WHEN headers is `Bad signature`',
|
|
() {
|
|
final email = Email(
|
|
headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
'Bad signature')
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.badSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN sMimeStatusHeader is not `Good signature` or `Bad signature`',
|
|
() {
|
|
final email = Email(
|
|
sMimeStatusHeader: {
|
|
IndividualHeaderIdentifier.sMimeStatusHeader: 'SomeOtherValue'
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headers is not `Good signature` or `Bad signature`',
|
|
() {
|
|
final email = Email(headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
'SomeOtherValue')
|
|
});
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headers is `Good signatures`',
|
|
() {
|
|
final email = Email(headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
'Good signatures')
|
|
});
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headers is `Good Signatures`',
|
|
() {
|
|
final email = Email(headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
'Good Signatures')
|
|
});
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headers is `Bad signatures`',
|
|
() {
|
|
final email = Email(headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
'Bad signatures')
|
|
});
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headers is `Bad Signatures`',
|
|
() {
|
|
final email = Email(headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
'Bad Signatures')
|
|
});
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headers is null AND sMimeStatusHeader is NULL',
|
|
() {
|
|
final email = Email(headers: null, sMimeStatusHeader: null);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headers is empty AND sMimeStatusHeader is null',
|
|
() {
|
|
final email = Email(headers: {}, sMimeStatusHeader: null);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.goodSignature`\n'
|
|
'WHEN sMimeStatusHeader is ` Good signature`',
|
|
() {
|
|
final email = Email(
|
|
sMimeStatusHeader: {
|
|
IndividualHeaderIdentifier.sMimeStatusHeader: ' Good signature'
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.goodSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.badSignature`\n'
|
|
'WHEN sMimeStatusHeader is ` Bad signature`',
|
|
() {
|
|
final email = Email(
|
|
sMimeStatusHeader: {
|
|
IndividualHeaderIdentifier.sMimeStatusHeader: ' Bad signature'
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.badSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.goodSignature`\n'
|
|
'WHEN headerSMimeStatusKey has value is ` Good signature`',
|
|
() {
|
|
final email = Email(
|
|
headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
' Good signature'
|
|
)
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.goodSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.badSignature`\n'
|
|
'WHEN headerSMimeStatusKey has value is ` Bad signature`',
|
|
() {
|
|
final email = Email(
|
|
headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
' Bad signature'
|
|
)
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.badSignature);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN sMimeStatusHeader is ` Good signatures`',
|
|
() {
|
|
final email = Email(
|
|
sMimeStatusHeader: {
|
|
IndividualHeaderIdentifier.sMimeStatusHeader: ' Good signatures'
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN sMimeStatusHeader is ` Bad signatures`',
|
|
() {
|
|
final email = Email(
|
|
sMimeStatusHeader: {
|
|
IndividualHeaderIdentifier.sMimeStatusHeader: ' Bad signatures'
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headerSMimeStatusKey has value is ` Good signatures`',
|
|
() {
|
|
final email = Email(
|
|
headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
' Good signatures'
|
|
)
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
|
|
test(
|
|
'SHOULD returns `SMimeSignatureStatus.notSigned`\n'
|
|
'WHEN headerSMimeStatusKey has value is ` Bad signatures`',
|
|
() {
|
|
final email = Email(
|
|
headers: {
|
|
EmailHeader(
|
|
EmailProperty.headerSMimeStatusKey,
|
|
' Bad signatures'
|
|
)
|
|
}
|
|
);
|
|
|
|
expect(email.sMimeStatus, SMimeSignatureStatus.notSigned);
|
|
});
|
|
});
|
|
}
|