public async void UpdateMedicalTeamOfExaminationWithNoUrgencyIndicatorsThenIsUrgentShouldBeFalse() { // Arrange var examination = new MedicalExaminer.Models.Examination { ChildPriority = false, CoronerPriority = false, CulturalPriority = false, FaithPriority = false, OtherPriority = false, CreatedAt = DateTime.Now.AddDays(-3) }; const string userA = "a"; var user = new MeUser(); var userRetrievalByIdService = new Mock <IAsyncQueryHandler <UserRetrievalByIdQuery, MeUser> >(); userRetrievalByIdService.Setup(x => x.Handle(It.IsAny <UserRetrievalByIdQuery>())).Returns(Task.FromResult(user)); var connectionSettings = new Mock <IExaminationConnectionSettings>(); var dbAccess = new Mock <IDatabaseAccess>(); dbAccess.Setup(db => db.UpdateItemAsync(connectionSettings.Object, examination)) .Returns(Task.FromResult(examination)); var sut = new MedicalTeamUpdateService(dbAccess.Object, connectionSettings.Object, userRetrievalByIdService.Object, _urgencySettingsMock.Object); // Act var result = await sut.Handle(examination, userA); // Assert result.IsUrgent().Should().BeFalse(); result.LastModifiedBy.Should().Be(userA); }
public async void ExaminationFound_ReturnsExaminationId() { // Arrange var examinationId = "1"; var examination1 = new MedicalExaminer.Models.Examination { ExaminationId = examinationId }; var connectionSettings = new Mock <IExaminationConnectionSettings>(); var dbAccess = new Mock <IDatabaseAccess>(); var user = new MeUser(); var userRetrievalByIdService = new Mock <IAsyncQueryHandler <UserRetrievalByIdQuery, MeUser> >(); userRetrievalByIdService.Setup(x => x.Handle(It.IsAny <UserRetrievalByIdQuery>())).Returns(Task.FromResult(user)); dbAccess.Setup(db => db.UpdateItemAsync(connectionSettings.Object, examination1)) .Returns(Task.FromResult(examination1)); var sut = new MedicalTeamUpdateService(dbAccess.Object, connectionSettings.Object, userRetrievalByIdService.Object, _urgencySettingsMock.Object); // Act var result = await sut.Handle(examination1, "a"); // Assert Assert.Equal(examinationId, result.ExaminationId); Assert.Equal("a", result.LastModifiedBy); }
public async void UpdateMedicalTeamOfExamination_SetsFullName_WhenMeUserIdIsEmpty() { // Arrange const string medicalExaminerUserId = ""; const string medicalExaminerOfficerUserId = ""; var examination = new MedicalExaminer.Models.Examination { ChildPriority = true, CoronerPriority = true, CulturalPriority = true, FaithPriority = true, OtherPriority = true, CreatedAt = DateTime.Now.AddDays(-3), MedicalTeam = new MedicalExaminer.Models.MedicalTeam { MedicalExaminerUserId = medicalExaminerUserId, MedicalExaminerOfficerUserId = medicalExaminerOfficerUserId } }; var userRetrievalByIdService = new Mock <IAsyncQueryHandler <UserRetrievalByIdQuery, MeUser> >(MockBehavior.Strict); var connectionSettings = new Mock <IExaminationConnectionSettings>(MockBehavior.Strict); var dbAccess = new Mock <IDatabaseAccess>(MockBehavior.Strict); userRetrievalByIdService .Setup(x => x.Handle(It.Is <UserRetrievalByIdQuery>(query => query.UserId == medicalExaminerUserId))) .Returns(Task.FromResult(new MeUser { FirstName = null, LastName = null })); userRetrievalByIdService .Setup(x => x.Handle(It.Is <UserRetrievalByIdQuery>(query => query.UserId == medicalExaminerOfficerUserId))) .Returns(Task.FromResult(new MeUser { FirstName = null, LastName = null })); dbAccess .Setup(db => db.UpdateItemAsync(connectionSettings.Object, examination)) .Returns(Task.FromResult(examination)); var sut = new MedicalTeamUpdateService( dbAccess.Object, connectionSettings.Object, userRetrievalByIdService.Object, _urgencySettingsMock.Object); // Act var result = await sut.Handle(examination, "a"); // Assert result.MedicalTeam.MedicalExaminerFullName.Should().BeNull(); result.MedicalTeam.MedicalExaminerOfficerFullName.Should().BeNull(); result.MedicalTeam.MedicalExaminerGmcNumber.Should().BeNull(); result.MedicalTeam.MedicalExaminerOfficerGmcNumber.Should().BeNull(); }
public void ExaminationIdNull_ThrowsException() { // Arrange var connectionSettings = new Mock <IExaminationConnectionSettings>(); var dbAccess = new Mock <IDatabaseAccess>(); dbAccess.Setup(db => db.GetItemAsync( connectionSettings.Object, It.IsAny <Expression <Func <MedicalExaminer.Models.Examination, bool> > >())) .Returns(Task.FromResult <MedicalExaminer.Models.Examination>(null)); var user = new MeUser(); var userRetrievalByIdService = new Mock <IAsyncQueryHandler <UserRetrievalByIdQuery, MeUser> >(); userRetrievalByIdService.Setup(x => x.Handle(It.IsAny <UserRetrievalByIdQuery>())).Returns(Task.FromResult(user)); var sut = new MedicalTeamUpdateService(dbAccess.Object, connectionSettings.Object, userRetrievalByIdService.Object, _urgencySettingsMock.Object); // Assert Action act = () => sut.Handle(null, "a").GetAwaiter().GetResult(); act.Should().Throw <ArgumentNullException>(); }