public async Task Get_ValidEthnicGroupCode_HttpOkAndReturnsSingleEthnicGroup() { // Arrange var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var path = GetRelativePath(nameof(ReferenceEthnicGroupsController), randomEthnicGroupId.ToString()); // Act var response = await Client.GetAsync(path); var responseString = await response.Content.ReadAsStringAsync(); // Assert Assert.DoesNotThrow( () => response.EnsureSuccessStatusCode(), string.Format(HttpExceptionFormattedMessage, responseString)); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); var apiReturnedObject = JsonConvert.DeserializeObject <ReferenceEthnicGroupDto>(responseString); var preDefinedObject = PreDefinedData.ReferenceEthnicGroups .SingleOrDefault(c => c.Id == randomEthnicGroupId); AssertHelper.AreObjectsEqual(apiReturnedObject, Mapper.Map <ReferenceEthnicGroup, ReferenceEthnicGroupDto>(preDefinedObject)); }
public async Task Update_ValidEthnicGroup_HttpNoContent() { // Arrange var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var apiUpdatingEthnicGroup = UnitOfWork.ReferenceEthnicGroups.Get(randomEthnicGroupId); apiUpdatingEthnicGroup.LongName = "Update Test"; var path = GetRelativePath(nameof(ReferenceEthnicGroupsController), randomEthnicGroupId.ToString()); // Act var response = await Client.PutAsync(path, new StringContent( JsonConvert.SerializeObject(Mapper.Map <ReferenceEthnicGroup, ReferenceEthnicGroupDto>(apiUpdatingEthnicGroup)), Encoding.UTF8, JsonMediaType)); var responseString = await response.Content.ReadAsStringAsync(); // Assert Assert.DoesNotThrow( () => response.EnsureSuccessStatusCode(), string.Format(HttpExceptionFormattedMessage, responseString)); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.NoContent)); var dbUpdatedEthnicGroup = UnitOfWork.ReferenceEthnicGroups.Get(apiUpdatingEthnicGroup.Id); AssertHelper.AreObjectsEqual(apiUpdatingEthnicGroup, dbUpdatedEthnicGroup); }
public void SingleOrDefault_PredicateUsedToFindMoreOneEthnicGroup_ThrowsInvalidOperationException() { var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); Assert.That(() => UnitOfWork.ReferenceEthnicGroups.SingleOrDefault(p => p.Id != randomEthnicGroupId), Throws.InvalidOperationException); }
public void SingleOrDefault_PredicateUsedToFindOneEthnicGroup_ReturnsOneEthnicGroup() { var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var result = UnitOfWork.ReferenceEthnicGroups.SingleOrDefault(p => p.Id == randomEthnicGroupId); Assert.That(result, Is.Not.Null); }
public void Find_PredicateUsedToFindOneEthnicGroup_ReturnsCollection() { var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var result = UnitOfWork.ReferenceEthnicGroups.Find(p => p.Id == randomEthnicGroupId); Assert.That(result.Count, Is.EqualTo(1)); Assert.That(result.First().Id == randomEthnicGroupId); }
public void Get_ValidEthnicGroupCode_ReturnsSingleEthnicGroup() { var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var result = UnitOfWork.ReferenceEthnicGroups.Get(randomEthnicGroupId); Assert.That(result, Is.Not.Null); Assert.That(result.Id, Is.EqualTo(randomEthnicGroupId)); }
public void Remove_ValidEthnicGroupExists_EthnicGroupCannotBeFetched() { var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var removeReferenceEthnicGroup = UnitOfWork.ReferenceEthnicGroups.Get(randomEthnicGroupId); UnitOfWork.ReferenceEthnicGroups.Remove(removeReferenceEthnicGroup); UnitOfWork.Complete(); var result = UnitOfWork.ReferenceEthnicGroups.Get(removeReferenceEthnicGroup.Id); Assert.That(result, Is.Null); }
public void Add_ValidEthnicGroupExists_ThrowsInvalidOperationException() { var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var randomEthnicGroup = UnitOfWork.ReferenceEthnicGroups.Get(randomEthnicGroupId); Assert.That(() => UnitOfWork.ReferenceEthnicGroups.Add( new ReferenceEthnicGroup { Id = randomEthnicGroup.Id, Code = randomEthnicGroup.Code }), Throws.InvalidOperationException); }
public async Task Update_EmptyPayload_HttpBadRequest() { // Arrange var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var path = GetRelativePath(nameof(ReferenceEthnicGroupsController), randomEthnicGroupId.ToString()); // Act var response = await Client.PutAsync(path, new StringContent(string.Empty, Encoding.UTF8)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task Delete_ValidEthnicGroup_HttpNoContent() { // Arrange var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var path = GetRelativePath(nameof(ReferenceEthnicGroupsController), randomEthnicGroupId.ToString()); // Act var response = await Client.DeleteAsync(path); var responseString = await response.Content.ReadAsStringAsync(); // Assert Assert.DoesNotThrow( () => response.EnsureSuccessStatusCode(), string.Format(HttpExceptionFormattedMessage, responseString)); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.NoContent)); }
public void RemoveRange_TwoValidEthnicGroupsDuplicated_ThrowsInvalidOperationException() { var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var randomEthnicGroup = UnitOfWork.ReferenceEthnicGroups.Get(randomEthnicGroupId); var existingEthnicGroups = new Collection <ReferenceEthnicGroup> { new ReferenceEthnicGroup { Id = randomEthnicGroup.Id, Code = randomEthnicGroup.Code }, new ReferenceEthnicGroup { Id = randomEthnicGroup.Id, Code = randomEthnicGroup.Code } }; Assert.That(() => UnitOfWork.ReferenceEthnicGroups.RemoveRange(existingEthnicGroups), Throws.InvalidOperationException); }
public async Task Update_MalformedPayload_HttpBadRequest() { // Arrange var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var path = GetRelativePath(nameof(ReferenceEthnicGroupsController), randomEthnicGroupId.ToString()); var apiUpdatingEthnicGroup = new ReferenceEthnicGroupDto { Id = randomEthnicGroupId // Code is required, keep it missing }; // Act var response = await Client.PutAsync(path, new StringContent( JsonConvert.SerializeObject(apiUpdatingEthnicGroup), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task Create_ExistingEthnicGroup_HttpConflict() { // Arrange var path = GetRelativePath(nameof(ReferenceEthnicGroupsController)); var randomEthnicGroupId = PreDefinedData.GetRandomEthnicGroupId(); var randomEthnicGroup = PreDefinedData.ReferenceEthnicGroups[randomEthnicGroupId - 1]; var newEthnicGroupDto = new ReferenceEthnicGroupDto { Code = randomEthnicGroup.Code, LongName = "Create Test", CreatedDate = DateTime.UtcNow }; // Act var response = await Client.PostAsync(path, new StringContent( JsonConvert.SerializeObject(newEthnicGroupDto), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Conflict)); }