public async Task UpdateFacility_State_Succeeds() { const string newState = "Alabama"; var facilityId = RepositoryData.Facilities()[0].Id; using var repositoryHelper = CreateRepositoryHelper(); using var repository = repositoryHelper.GetFacilityRepository(); var facility = ResourceHelper.GetFacilityDetail(facilityId); var updates = new FacilityEditDto(facility) { State = newState }; await repository.UpdateFacilityAsync(facilityId, updates); repositoryHelper.ClearChangeTracker(); var expected = ResourceHelper.GetFacilityDetail(facilityId); expected.State = newState; var updatedFacility = await repository.GetFacilityAsync(facilityId); updatedFacility.Should().BeEquivalentTo(expected); }
public async Task <IActionResult> OnGetAsync(Guid?id) { if (id == null) { return(NotFound()); } var facilityDetail = await _repository.GetFacilityAsync(id.Value); if (facilityDetail == null) { return(NotFound()); } if (!facilityDetail.Active) { return(RedirectToPage("./Details", new { id })); } Id = id.Value; Facility = new FacilityEditDto(facilityDetail); await PopulateSelectsAsync(); return(Page()); }
public async Task UpdateFacility_InvalidCounty_ThrowsException() { var updates = new FacilityEditDto() { CountyId = 999, FacilityNumber = "zzz" }; Func <Task> action = async() => { using var repository = CreateRepositoryHelper().GetFacilityRepository(); await repository.UpdateFacilityAsync(Guid.Empty, updates); }; (await action.Should().ThrowAsync <ArgumentException>().ConfigureAwait(false)) .WithMessage($"County ID {updates.CountyId} does not exist."); }
public async Task UpdateFacility_NonexistentId_ThrowsException() { var updates = new FacilityEditDto() { CountyId = 99, FacilityNumber = "zzz" }; Func <Task> action = async() => { using var repository = CreateRepositoryHelper().GetFacilityRepository(); await repository.UpdateFacilityAsync(Guid.Empty, updates); }; (await action.Should().ThrowAsync <ArgumentException>().ConfigureAwait(false)) .WithMessage("Facility ID not found. (Parameter 'id')"); }
public async Task UpdateFacility_MissingFacilityNumber_ThrowsException() { var updates = new FacilityEditDto() { CountyId = 99 }; Func <Task> action = async() => { using var repository = CreateRepositoryHelper().GetFacilityRepository(); await repository.UpdateFacilityAsync(Guid.Empty, updates); }; (await action.Should().ThrowAsync <ArgumentException>().ConfigureAwait(false)) .WithMessage("Facility Number is required."); }
public async Task UpdateFacility_WithNonexistentFile_ThrowsException() { const string newFileLabel = "999-9999"; Func <Task> action = async() => { using var repository = CreateRepositoryHelper().GetFacilityRepository(); var facilityId = RepositoryData.Facilities()[0].Id; var facility = ResourceHelper.GetFacilityDetail(facilityId); var updates = new FacilityEditDto(facility) { FileLabel = newFileLabel }; await repository.UpdateFacilityAsync(facilityId, updates); }; (await action.Should().ThrowAsync <ArgumentException>().ConfigureAwait(false)) .WithMessage($"File Label {newFileLabel} does not exist."); }
public async Task UpdateFacility_WithBlankFile_SucceedsAndCreatesNewFile() { var facilityId = RepositoryData.Facilities()[0].Id; using var repositoryHelper = CreateRepositoryHelper(); using var repository = repositoryHelper.GetFacilityRepository(); var facility = ResourceHelper.GetFacilityDetail(facilityId); var updates = new FacilityEditDto(facility) { FileLabel = "" }; await repository.UpdateFacilityAsync(facilityId, updates); repositoryHelper.ClearChangeTracker(); var updatedFacility = await repository.GetFacilityAsync(facilityId); updatedFacility.FileLabel.ShouldNotBeNull(); updatedFacility.FileLabel.Should().StartWith(RepositoryData.Facilities()[0].CountyId.ToString()); }
public async Task UpdateFacility_Longitude_Succeeds() { const decimal newLongitude = 1.0m; var facilityId = RepositoryData.Facilities()[0].Id; using var repositoryHelper = CreateRepositoryHelper(); using var repository = repositoryHelper.GetFacilityRepository(); var facility = ResourceHelper.GetFacilityDetail(facilityId); var updates = new FacilityEditDto(facility) { Longitude = newLongitude }; await repository.UpdateFacilityAsync(facilityId, updates); repositoryHelper.ClearChangeTracker(); var updatedFacility = await repository.GetFacilityAsync(facilityId); updatedFacility.Longitude.Should().Be(newLongitude); }
public async Task UpdateFacility_ChangeFile_Succeeds() { var facilityId = RepositoryData.Facilities()[0].Id; var newFile = RepositoryData.Files[1]; using var repositoryHelper = CreateRepositoryHelper(); using var repository = repositoryHelper.GetFacilityRepository(); var facility = ResourceHelper.GetFacilityDetail(facilityId); var updates = new FacilityEditDto(facility) { FileLabel = newFile.FileLabel }; await repository.UpdateFacilityAsync(facilityId, updates); repositoryHelper.ClearChangeTracker(); var updatedFacility = await repository.GetFacilityAsync(facilityId); updatedFacility.FileLabel.Should().Be(newFile.FileLabel); updatedFacility.FileId.Should().Be(newFile.Id); }
public async Task UpdateFacility_County_Succeeds() { const int newCountyId = 99; var facilityId = RepositoryData.Facilities()[0].Id; using var repositoryHelper = CreateRepositoryHelper(); using var repository = repositoryHelper.GetFacilityRepository(); var facility = ResourceHelper.GetFacilityDetail(facilityId); var updates = new FacilityEditDto(facility) { CountyId = newCountyId }; await repository.UpdateFacilityAsync(facilityId, updates); repositoryHelper.ClearChangeTracker(); var expected = ResourceHelper.GetFacilityDetail(facilityId); expected.County = ResourceHelper.GetCounty(newCountyId); var updatedFacility = await repository.GetFacilityAsync(facilityId); updatedFacility.Should().BeEquivalentTo(expected); }