public void should_map_to_lip_hearing_amendment_notification() { var expectedNotificationType = NotificationType.HearingAmendmentLip; var oldDate = new DateTime(2020, 2, 10, 11, 30, 0, DateTimeKind.Utc); var newDate = new DateTime(2020, 10, 12, 13, 10, 0, DateTimeKind.Utc); var caseName = "cse test"; var caseNumber = "MBFY/17364"; var participant = InitParticipant("Individual"); var expectedParameters = new Dictionary <string, string> { { "case name", caseName }, { "case number", caseNumber }, { "name", $"{participant.FirstName} {participant.LastName}" }, { "Old time", "11:30 AM" }, { "New time", "2:10 PM" }, { "Old Day Month Year", "10 February 2020" }, { "New Day Month Year", "12 October 2020" } }; var result = AddNotificationRequestMapper.MapToHearingAmendmentNotification(_hearing, participant, caseName, caseNumber, oldDate, newDate); result.Should().NotBeNull(); result.HearingId.Should().Be(_hearing.Id); result.ParticipantId.Should().Be(participant.Id); result.ContactEmail.Should().Be(participant.ContactEmail); result.NotificationType.Should().Be(expectedNotificationType); result.MessageType.Should().Be(MessageType.Email); result.PhoneNumber.Should().Be(participant.TelephoneNumber); result.Parameters.Should().BeEquivalentTo(expectedParameters); }
public async Task SendHearingUpdateEmail(HearingDetailsResponse originalHearing, HearingDetailsResponse updatedHearing, List <ParticipantResponse> participants = null) { if (updatedHearing.IsGenericHearing()) { return; } var @case = updatedHearing.Cases.First(); var caseName = @case.Name; var caseNumber = @case.Number; var participantsToEmail = participants ?? updatedHearing.Participants; if (!updatedHearing.DoesJudgeEmailExist() || originalHearing.ConfirmedDate == null || originalHearing.GroupId != originalHearing.Id) { participantsToEmail = participantsToEmail .Where(x => !x.UserRoleName.Contains("Judge", StringComparison.CurrentCultureIgnoreCase)) .ToList(); } var requests = participantsToEmail .Select(participant => AddNotificationRequestMapper.MapToHearingAmendmentNotification(updatedHearing, participant, caseName, caseNumber, originalHearing.ScheduledDateTime, updatedHearing.ScheduledDateTime)) .ToList(); foreach (var request in requests) { await _notificationApiClient.CreateNewNotificationAsync(request); } }
public void should_map_to_judge_hearing_amendment_notification() { var expectedNotificationType = NotificationType.HearingAmendmentJudge; var oldDate = new DateTime(2020, 2, 10, 11, 30, 0, DateTimeKind.Utc); var newDate = new DateTime(2020, 10, 12, 13, 10, 0, DateTimeKind.Utc); var caseName = "cse test"; var caseNumber = "MBFY/17364"; var participant = InitParticipant("Judge"); _hearing.OtherInformation = JsonConvert.SerializeObject(new OtherInformationDetails { JudgeEmail = "*****@*****.**", JudgePhone = "123456789" }); var expectedParameters = new Dictionary <string, string> { { "case name", caseName }, { "case number", caseNumber }, { "judge", participant.DisplayName }, { "courtroom account username", participant.Username }, { "Old time", "11:30 AM" }, { "New time", "2:10 PM" }, { "Old Day Month Year", "10 February 2020" }, { "New Day Month Year", "12 October 2020" } }; var result = AddNotificationRequestMapper.MapToHearingAmendmentNotification(_hearing, participant, caseName, caseNumber, oldDate, newDate); result.Should().NotBeNull(); result.HearingId.Should().Be(_hearing.Id); result.ParticipantId.Should().Be(participant.Id); result.ContactEmail.Should().Be(participant.ContactEmail); result.NotificationType.Should().Be(expectedNotificationType); result.MessageType.Should().Be(MessageType.Email); result.PhoneNumber.Should().Be(participant.TelephoneNumber); result.Parameters.Should().BeEquivalentTo(expectedParameters); }