Skip to content

Commit

Permalink
fixup! TF-3222 Hide reply calendar event action buttons if email is e…
Browse files Browse the repository at this point in the history
…vent reply
  • Loading branch information
tddang-linagora committed Oct 24, 2024
1 parent 619d90a commit eadbd4f
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,12 @@ extension CalendarEventExtension on CalendarEvent {
}

bool get isDisplayedEventReplyAction => method != null
&& method != EventMethod.reply
&& _methodIsRepliable
&& organizer != null
&& participants?.isNotEmpty == true;

bool get _methodIsRepliable =>
method == EventMethod.request ||
method == EventMethod.add ||
method == EventMethod.counter;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ import 'package:flutter_test/flutter_test.dart';
import 'package:date_format/date_format.dart' as date_format;
import 'package:jmap_dart_client/jmap/core/utc_date.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/calendar_organizer.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/properties/event_method.dart';
import 'package:tmail_ui_user/features/email/presentation/extensions/calendar_event_extension.dart';

void main() {
Expand Down Expand Up @@ -73,4 +76,122 @@ void main() {
expect(formattedDateString, expectedFormattedDateString);
});
});

group('calendar_event_extension::isDisplayedEventReplyAction::test:', () {
CalendarEvent calendarEventFromEventMethod(EventMethod eventMethod) {
return CalendarEvent(
method: eventMethod,
organizer: CalendarOrganizer(),
participants: [CalendarAttendee()]
);
}

group('should return true', () {
test(
'when event method is request',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.request);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, true);
});

test(
'when event method is add',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.add);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, true);
});

test(
'when event method is counter',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.counter);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, true);
});
});

group('should return false', () {
test(
'when event method is publish',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.publish);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, false);
});

test(
'when event method is reply',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.reply);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, false);
});

test(
'when event method is cancel',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.cancel);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, false);
});

test(
'when event method is refresh',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.refresh);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, false);
});

test(
'when event method is declineCounter',
() {
// arrange
final calendarEvent = calendarEventFromEventMethod(EventMethod.declineCounter);

// act
final result = calendarEvent.isDisplayedEventReplyAction;

// assert
expect(result, false);
});
});
});
}

0 comments on commit eadbd4f

Please sign in to comment.