public async Task Get_ValidEyeColorCode_HttpOkAndReturnsSingleEyeColor() { // Arrange var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var path = GetRelativePath(nameof(ReferenceEyeColorsController), randomEyeColorId.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 <ReferenceEyeColorDto>(responseString); var preDefinedObject = PreDefinedData.ReferenceEyeColors .SingleOrDefault(c => c.Id == randomEyeColorId); AssertHelper.AreObjectsEqual(apiReturnedObject, Mapper.Map <ReferenceEyeColor, ReferenceEyeColorDto>(preDefinedObject)); }
public async Task Update_ValidEyeColor_HttpNoContent() { // Arrange var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var apiUpdatingEyeColor = UnitOfWork.ReferenceEyeColors.Get(randomEyeColorId); apiUpdatingEyeColor.LongName = "Update Test"; var path = GetRelativePath(nameof(ReferenceEyeColorsController), randomEyeColorId.ToString()); // Act var response = await Client.PutAsync(path, new StringContent( JsonConvert.SerializeObject(Mapper.Map <ReferenceEyeColor, ReferenceEyeColorDto>(apiUpdatingEyeColor)), 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 dbUpdatedEyeColor = UnitOfWork.ReferenceEyeColors.Get(apiUpdatingEyeColor.Id); AssertHelper.AreObjectsEqual(apiUpdatingEyeColor, dbUpdatedEyeColor); }
public void SingleOrDefault_PredicateUsedToFindMoreOneEyeColor_ThrowsInvalidOperationException() { var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); Assert.That(() => UnitOfWork.ReferenceEyeColors.SingleOrDefault(p => p.Id != randomEyeColorId), Throws.InvalidOperationException); }
public void SingleOrDefault_PredicateUsedToFindOneEyeColor_ReturnsOneEyeColor() { var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var result = UnitOfWork.ReferenceEyeColors.SingleOrDefault(p => p.Id == randomEyeColorId); Assert.That(result, Is.Not.Null); }
public void Find_PredicateUsedToFindOneEyeColor_ReturnsCollection() { var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var result = UnitOfWork.ReferenceEyeColors.Find(p => p.Id == randomEyeColorId); Assert.That(result.Count, Is.EqualTo(1)); Assert.That(result.First().Id == randomEyeColorId); }
public void Get_ValidEyeColorCode_ReturnsSingleEyeColor() { var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var result = UnitOfWork.ReferenceEyeColors.Get(randomEyeColorId); Assert.That(result, Is.Not.Null); Assert.That(result.Id, Is.EqualTo(randomEyeColorId)); }
public void Remove_ValidEyeColorExists_EyeColorCannotBeFetched() { var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var removeReferenceEyeColor = UnitOfWork.ReferenceEyeColors.Get(randomEyeColorId); UnitOfWork.ReferenceEyeColors.Remove(removeReferenceEyeColor); UnitOfWork.Complete(); var result = UnitOfWork.ReferenceEyeColors.Get(removeReferenceEyeColor.Id); Assert.That(result, Is.Null); }
public void Add_ValidEyeColorExists_ThrowsInvalidOperationException() { var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var randomEyeColor = UnitOfWork.ReferenceEyeColors.Get(randomEyeColorId); Assert.That(() => UnitOfWork.ReferenceEyeColors.Add( new ReferenceEyeColor { Id = randomEyeColor.Id, Code = randomEyeColor.Code }), Throws.InvalidOperationException); }
public async Task Update_EmptyPayload_HttpBadRequest() { // Arrange var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var path = GetRelativePath(nameof(ReferenceEyeColorsController), randomEyeColorId.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_ValidEyeColor_HttpNoContent() { // Arrange var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var path = GetRelativePath(nameof(ReferenceEyeColorsController), randomEyeColorId.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_TwoValidEyeColorsDuplicated_ThrowsInvalidOperationException() { var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var randomEyeColor = UnitOfWork.ReferenceEyeColors.Get(randomEyeColorId); var existingEyeColors = new Collection <ReferenceEyeColor> { new ReferenceEyeColor { Id = randomEyeColor.Id, Code = randomEyeColor.Code }, new ReferenceEyeColor { Id = randomEyeColor.Id, Code = randomEyeColor.Code } }; Assert.That(() => UnitOfWork.ReferenceEyeColors.RemoveRange(existingEyeColors), Throws.InvalidOperationException); }
public async Task Update_MalformedPayload_HttpBadRequest() { // Arrange var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var path = GetRelativePath(nameof(ReferenceEyeColorsController), randomEyeColorId.ToString()); var apiUpdatingEyeColor = new ReferenceEyeColorDto { Id = randomEyeColorId // Code is required, keep it missing }; // Act var response = await Client.PutAsync(path, new StringContent( JsonConvert.SerializeObject(apiUpdatingEyeColor), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); }
public async Task Create_ExistingEyeColor_HttpConflict() { // Arrange var path = GetRelativePath(nameof(ReferenceEyeColorsController)); var randomEyeColorId = PreDefinedData.GetRandomEyeColorId(); var randomEyeColor = PreDefinedData.ReferenceEyeColors[randomEyeColorId - 1]; var newEyeColorDto = new ReferenceEyeColorDto { Code = randomEyeColor.Code, LongName = "Create Test", CreatedDate = DateTime.UtcNow }; // Act var response = await Client.PostAsync(path, new StringContent( JsonConvert.SerializeObject(newEyeColorDto), Encoding.UTF8, JsonMediaType)); // Assert Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Conflict)); }