public async Task UpdatePurchaseOrderItemAsync_Throws_ConflictException() { //Arrange var id = 2; _fixture.MockPurchaseOrderItemService.Setup(x => x.GetPurchaseOrderItemAsync(It.IsAny <Expression <Func <PurchaseOrderItem, bool> > >())) .Returns <Expression <Func <PurchaseOrderItem, bool> > >(expression => Task.FromResult(_fixture.PurchaseOrderItems.AsQueryable().FirstOrDefault(expression))); _fixture.MockPurchaseOrderItemService.Setup(x => x.UpdatePurchaseOrderItemAsync(It.IsAny <PurchaseOrderItem>())); var repository = new PurchaseOrderItemRepository(AutoMapperSingleton.Mapper, _fixture.MockPurchaseOrderItemService.Object); //Act var exception = await Assert.ThrowsAsync <RestException>(() => repository.UpdatePurchaseOrderItemAsync(id, new EditPurchaseOrderItemDto { PurchaseOrderId = 202, ItemId = 20024, ItemUnitPrice = 260, Quantity = 6 })); //Assert exception.ErrorCode.Should().Be(HttpStatusCode.Conflict); exception.ErrorMessage.Should().Be("Item already available for this purchase request."); exception.ErrorType.Should().Be(HttpStatusCode.Conflict.ToString()); }
public async Task UpdatePurchaseOrderItemAsync_Throws_NotFoundException() { //Arrange var id = 201; _fixture.MockPurchaseOrderItemService.Setup(x => x.GetPurchaseOrderItemAsync(It.IsAny <Expression <Func <PurchaseOrderItem, bool> > >())) .Returns <Expression <Func <PurchaseOrderItem, bool> > >(expression => Task.FromResult(_fixture.PurchaseOrderItems.AsQueryable().FirstOrDefault(expression))); _fixture.MockPurchaseOrderItemService.Setup(x => x.UpdatePurchaseOrderItemAsync(It.IsAny <PurchaseOrderItem>())); var repository = new PurchaseOrderItemRepository(AutoMapperSingleton.Mapper, _fixture.MockPurchaseOrderItemService.Object); //Act var exception = await Assert.ThrowsAsync <RestException>(() => repository.UpdatePurchaseOrderItemAsync(id, _fixture.EditPurchaseOrderItemDto)); //Assert exception.ErrorCode.Should().Be(HttpStatusCode.NotFound); exception.ErrorMessage.Should().Be("Purchase order item not found."); exception.ErrorType.Should().Be(HttpStatusCode.NotFound.ToString()); }
public async Task UpdatePurchaseOrderItemAsync_Returns_Updated_GetPurchaseOrderItemDto() { //Arrange var id = 1; _fixture.MockPurchaseOrderItemService.Setup(x => x.GetPurchaseOrderItemAsync(It.IsAny <Expression <Func <PurchaseOrderItem, bool> > >())) .Returns <Expression <Func <PurchaseOrderItem, bool> > >(expression => Task.FromResult(_fixture.PurchaseOrderItems.AsQueryable().FirstOrDefault(expression))); _fixture.MockPurchaseOrderItemService.Setup(x => x.UpdatePurchaseOrderItemAsync(It.IsAny <PurchaseOrderItem>())); var repository = new PurchaseOrderItemRepository(AutoMapperSingleton.Mapper, _fixture.MockPurchaseOrderItemService.Object); //Act var result = await repository.UpdatePurchaseOrderItemAsync(id, _fixture.EditPurchaseOrderItemDto); //Assert result.Should().BeOfType(typeof(GetPurchaseOrderItemDto)); result.Id.Should().Be(id); result.ItemTypeName.Should().Be("Grocery"); result.ItemName.Should().Be("Rice"); result.ItemUnitPrice.Should().Be(650); result.Quantity.Should().Be(7); }