public void HasRoleForExamination_ReturnsFalse_WhenUserDoesNotHaveRequiredRole() { // Arrange var user = new Models.MeUser() { Permissions = new List <MEUserPermission>() { new MEUserPermission() { LocationId = "trust1", UserRole = UserRoles.MedicalExaminer }, new MEUserPermission() { LocationId = "national1", UserRole = UserRoles.ServiceAdministrator, } } }; var examination = new Models.Examination() { NationalLocationId = "national1", RegionLocationId = "region1", TrustLocationId = "trust1", SiteLocationId = "site1" }; // Act var hasRole = user.HasRoleForExamination(examination, UserRoles.MedicalExaminerOfficer); // Assert hasRole.Should().BeFalse(); }
public void UpdateLocationCache_UpdatesNoLocations_WhenNoneProvided() { // Arrange var expectedNationalLocationId = "expectedNationalLocationId"; var expectedRegionLocationId = "expectedRegionLocationId"; var expectedTrustLocationId = "expectedTrustLocationId"; var expectedSiteLocationId = "expectedSiteLocationId"; var examination = new Models.Examination() { NationalLocationId = expectedNationalLocationId, RegionLocationId = expectedRegionLocationId, TrustLocationId = expectedTrustLocationId, SiteLocationId = expectedSiteLocationId, }; var locations = Enumerable.Empty <Location>(); // Act examination.UpdateLocationPath(locations); // Assert examination.NationalLocationId.Should().Be(expectedNationalLocationId); examination.RegionLocationId.Should().Be(expectedRegionLocationId); examination.TrustLocationId.Should().Be(expectedTrustLocationId); examination.SiteLocationId.Should().Be(expectedSiteLocationId); }
/// <inheritdoc/> public async Task <Models.Examination> Handle(Models.Examination examination, string userId) { if (examination == null) { throw new ArgumentNullException(nameof(examination)); } if (!string.IsNullOrEmpty(examination.MedicalTeam.MedicalExaminerUserId)) { var meUser = await GetUser(examination.MedicalTeam.MedicalExaminerUserId); examination.MedicalTeam.MedicalExaminerFullName = meUser.FullName(); examination.MedicalTeam.MedicalExaminerGmcNumber = meUser.GmcNumber; } if (!string.IsNullOrEmpty(examination.MedicalTeam.MedicalExaminerOfficerUserId)) { var meoUser = await GetUser(examination.MedicalTeam.MedicalExaminerOfficerUserId); examination.MedicalTeam.MedicalExaminerOfficerFullName = meoUser.FullName(); examination.MedicalTeam.MedicalExaminerOfficerGmcNumber = meoUser.GmcNumber; } examination = examination.UpdateCaseUrgencySort(_urgencySettings.DaysToPreCalculateUrgencySort); examination = examination.UpdateCaseStatus(); examination.LastModifiedBy = userId; examination.ModifiedAt = DateTime.Now; var returnedDocument = await _databaseAccess.UpdateItemAsync(_connectionSettings, examination); return(returnedDocument); }
public void UpdateLocationCache_UpdatesAllLocations_WhenProvided() { // Arrange var examination = new Models.Examination(); var expectedNationalLocationId = "expectedNationalLocationId"; var expectedRegionLocationId = "expectedRegionLocationId"; var expectedTrustLocationId = "expectedTrustLocationId"; var expectedSiteLocationId = "expectedSiteLocationId"; var locations = new List <Location>() { new Location() { LocationId = expectedNationalLocationId, Type = LocationType.National, }, new Location() { LocationId = expectedRegionLocationId, Type = LocationType.Region, }, new Location() { LocationId = expectedTrustLocationId, Type = LocationType.Trust, }, new Location() { LocationId = expectedSiteLocationId, Type = LocationType.Site, }, }; // Act examination.UpdateLocationPath(locations); // Assert examination.NationalLocationId.Should().Be(expectedNationalLocationId); examination.RegionLocationId.Should().Be(expectedRegionLocationId); examination.TrustLocationId.Should().Be(expectedTrustLocationId); examination.SiteLocationId.Should().Be(expectedSiteLocationId); }
public void RoleForExamination_Returns() { // Arrange var expectedRole = UserRoles.ServiceOwner; var user = new Models.MeUser() { Permissions = new List <MEUserPermission>() { new MEUserPermission() { LocationId = "site1", UserRole = UserRoles.MedicalExaminerOfficer }, new MEUserPermission() { LocationId = "trust1", UserRole = UserRoles.MedicalExaminer }, new MEUserPermission() { LocationId = "national1", UserRole = expectedRole } } }; var examination = new Models.Examination() { NationalLocationId = "national1", RegionLocationId = "region1", TrustLocationId = "trust1", SiteLocationId = "site1" }; // Act var role = user.RoleForExamination(examination); // Assert role.Should().Be(expectedRole); }
public EventCreationResult(string eventId, Models.Examination examination) { EventId = eventId; Examination = examination; }