public async Task Should_send_email_for_new_individual_participant_added() { var participant = new BookingsApi.Contract.Requests.ParticipantRequest { Username = string.Empty, // New participant CaseRoleName = "Applicant", HearingRoleName = "Individual" }; var newUserName = "******"; // setup response var hearingDetailsResponse = HearingResponseBuilder.Build() .WithParticipant("Individual", newUserName); _bookingsApiClient.Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>())) .ReturnsAsync(hearingDetailsResponse); _userAccountService .Setup(x => x.UpdateParticipantUsername(It.IsAny <BookingsApi.Contract.Requests.ParticipantRequest>())) .Callback <BookingsApi.Contract.Requests.ParticipantRequest>(p => { p.Username = newUserName; }) .ReturnsAsync(new User { UserName = newUserName, Password = "******" }); await PostWithParticipants(participant); _notificationApiMock.Verify(x => x.CreateNewNotificationAsync(It.Is <AddNotificationRequest>(request => request.NotificationType == NotificationType.CreateIndividual)), Times.Once); }
public async Task Should_update_participant_username_to_aad_email_id() { var participant = new BookingsApi.Contract.Requests.ParticipantRequest { Username = "******", CaseRoleName = "Applicant", HearingRoleName = "Representative", ContactEmail = "*****@*****.**" }; var participantList = new List <BookingsApi.Contract.Requests.ParticipantRequest> { participant }; const string da = "*****@*****.**"; var endpoints = new EndpointRequest { DisplayName = "displayname", DefenceAdvocateUsername = da }; var endpointList = new List <EndpointRequest> { endpoints }; var hearing = new BookNewHearingRequest { Participants = participantList, Endpoints = endpointList }; var bookingRequest = new BookHearingRequest { BookingDetails = hearing }; // setup response var hearingDetailsResponse = HearingResponseBuilder.Build() .WithParticipant("Representative", participant.Username); _bookingsApiClient.Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>())) .ReturnsAsync(hearingDetailsResponse); await _controller.Post(bookingRequest); _userAccountService.Verify(x => x.GetAdUserIdForUsername(participant.Username), Times.Once); }
public async Task Should_update_participant_user_details() { var participant = new BookingsApi.Contract.Requests.ParticipantRequest { Username = "******", CaseRoleName = "Applicant", HearingRoleName = "Representative" }; // setup response var hearingDetailsResponse = HearingResponseBuilder.Build() .WithParticipant("Representative", "username"); _bookingsApiClient.Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>())) .ReturnsAsync(hearingDetailsResponse); await PostWithParticipants(participant); _userAccountService.Verify(x => x.GetAdUserIdForUsername(participant.Username), Times.Once); }
public async Task Should_not_update_user_details_for_winger() { var participant = new BookingsApi.Contract.Requests.ParticipantRequest { Username = "******", CaseRoleName = "", HearingRoleName = "Winger" }; // setup response var hearingDetailsResponse = HearingResponseBuilder.Build() .WithParticipant(""); _bookingsApiClient.Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>())) .ReturnsAsync(hearingDetailsResponse); await PostWithParticipants(participant); _userAccountService.Verify(x => x.UpdateParticipantUsername(participant), Times.Never); _userAccountService.Verify(x => x.GetAdUserIdForUsername(participant.Username), Times.Never); }
public async Task Should_not_send_email_for_existing_participant_added() { var existingUserName = "******"; var participant = new BookingsApi.Contract.Requests.ParticipantRequest { Username = existingUserName, CaseRoleName = "Applicant", HearingRoleName = "Representative" }; // setup response var hearingDetailsResponse = HearingResponseBuilder.Build() .WithParticipant("Representative", existingUserName); _bookingsApiClient.Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>())) .ReturnsAsync(hearingDetailsResponse); await PostWithParticipants(participant); _notificationApiMock.Verify( x => x.CreateNewNotificationAsync(It.Is <AddNotificationRequest>(request => request.NotificationType == NotificationType.CreateRepresentative)), Times.Never); }