TF-3793 Write unit test to cover the display the warning message in calendar event
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+139
@@ -0,0 +1,139 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/calendar_event.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/properties/attendee/calendar_attendee.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/properties/attendee/calendar_attendee_mail_to.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/properties/calendar_organizer.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/calendar/properties/mail_address.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/calendar_event_information_widget.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
import '../../../../../fixtures/widget_fixtures.dart';
|
||||
|
||||
void main() {
|
||||
group('CalendarEventInformationWidget::', () {
|
||||
testWidgets(
|
||||
'Should show warning message\n'
|
||||
'when user is not in the participants\n'
|
||||
'and is not the organizer',
|
||||
(tester) async {
|
||||
// Arrange
|
||||
const ownEmail = 'user@example.com';
|
||||
final calendarEvent = CalendarEvent(
|
||||
organizer: CalendarOrganizer(
|
||||
mailto: MailAddress('organizer@example.com'),
|
||||
),
|
||||
participants: [
|
||||
CalendarAttendee(
|
||||
mailto: CalendarAttendeeMailTo(MailAddress('participant@example.com')),
|
||||
)
|
||||
],
|
||||
);
|
||||
|
||||
// Act
|
||||
await tester.pumpWidget(
|
||||
WidgetFixtures.makeTestableWidget(
|
||||
child: Scaffold(
|
||||
body: CalendarEventInformationWidget(
|
||||
calendarEvent: calendarEvent,
|
||||
onCalendarEventReplyActionClick: (_) {},
|
||||
calendarEventReplying: false,
|
||||
isFree: false,
|
||||
ownEmailAddress: ownEmail,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Assert
|
||||
expect(
|
||||
find.text(AppLocalizations().youAreNotInvitedToThisEventPleaseContactTheOrganizer),
|
||||
findsOneWidget,
|
||||
);
|
||||
});
|
||||
|
||||
testWidgets(
|
||||
'Should NOT show warning message\n'
|
||||
'when user is in participants',
|
||||
(tester) async {
|
||||
// Arrange
|
||||
const ownEmail = 'user@example.com';
|
||||
final calendarEvent = CalendarEvent(
|
||||
organizer: CalendarOrganizer(
|
||||
mailto: MailAddress('organizer@example.com'),
|
||||
),
|
||||
participants: [
|
||||
CalendarAttendee(
|
||||
mailto: CalendarAttendeeMailTo(MailAddress('participant@example.com')),
|
||||
),
|
||||
CalendarAttendee(
|
||||
mailto: CalendarAttendeeMailTo(MailAddress(ownEmail)),
|
||||
),
|
||||
],
|
||||
);
|
||||
|
||||
// Act
|
||||
await tester.pumpWidget(
|
||||
WidgetFixtures.makeTestableWidget(
|
||||
child: Scaffold(
|
||||
body: CalendarEventInformationWidget(
|
||||
calendarEvent: calendarEvent,
|
||||
onCalendarEventReplyActionClick: (_) {},
|
||||
calendarEventReplying: false,
|
||||
isFree: false,
|
||||
ownEmailAddress: ownEmail,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Assert
|
||||
expect(
|
||||
find.text(AppLocalizations().youAreNotInvitedToThisEventPleaseContactTheOrganizer),
|
||||
findsNothing,
|
||||
);
|
||||
});
|
||||
|
||||
testWidgets(
|
||||
'Should NOT show warning message\n'
|
||||
'when user is the organizer',
|
||||
(tester) async {
|
||||
// Arrange
|
||||
const ownEmail = 'user@example.com';
|
||||
final calendarEvent = CalendarEvent(
|
||||
organizer: CalendarOrganizer(
|
||||
mailto: MailAddress(ownEmail),
|
||||
),
|
||||
participants: [
|
||||
CalendarAttendee(
|
||||
mailto: CalendarAttendeeMailTo(MailAddress('participant@example.com')),
|
||||
),
|
||||
],
|
||||
);
|
||||
|
||||
// Act
|
||||
await tester.pumpWidget(
|
||||
WidgetFixtures.makeTestableWidget(
|
||||
child: Scaffold(
|
||||
body: CalendarEventInformationWidget(
|
||||
calendarEvent: calendarEvent,
|
||||
onCalendarEventReplyActionClick: (_) {},
|
||||
calendarEventReplying: false,
|
||||
isFree: false,
|
||||
ownEmailAddress: ownEmail,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Assert
|
||||
expect(
|
||||
find.text(AppLocalizations().youAreNotInvitedToThisEventPleaseContactTheOrganizer),
|
||||
findsNothing,
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user