public async Task CreateUnitOfMeasureAsync_Returns_New_GetUnitOfMeasureDto() { //Arrange _fixture.MockUnitOfMeasureService.Setup(x => x.AddUnitOfMeasureAsync(It.IsAny <UnitOfMeasure>())) .ReturnsAsync(_fixture.CreatedNewUnitOfMeasure); var repository = new UnitOfMeasureRepository(AutoMapperSingleton.Mapper, _fixture.MockUnitOfMeasureService.Object); //Act var result = await repository.CreateUnitOfMeasureAsync(_fixture.CreateUnitOfMeasureDto); //Assert result.Should().BeOfType(typeof(GetUnitOfMeasureDto)); result.Id.Should().Be(4); result.Code.Should().Be(_fixture.CreateUnitOfMeasureDto.Code); result.Description.Should().Be(_fixture.CreateUnitOfMeasureDto.Description); }
public async Task CreateUnitOfMeasureAsync_Throws_ConflictException() { //Arrange _fixture.MockUnitOfMeasureService.Setup(x => x.GetUnitOfMeasureAsync(It.IsAny <Expression <Func <UnitOfMeasure, bool> > >())) .Returns <Expression <Func <UnitOfMeasure, bool> > >(expression => Task.FromResult(_fixture.UnitOfMeasures.AsQueryable().FirstOrDefault(expression))); var repository = new UnitOfMeasureRepository(AutoMapperSingleton.Mapper, _fixture.MockUnitOfMeasureService.Object); //Act var exception = await Assert.ThrowsAsync <RestException>(() => repository.CreateUnitOfMeasureAsync(new CreateUnitOfMeasureDto { Code = "g", Description = "" })); //Assert exception.ErrorCode.Should().Be(HttpStatusCode.Conflict); exception.ErrorMessage.Should().Be("Unit of measure \"g\" is already available."); exception.ErrorType.Should().Be(HttpStatusCode.Conflict.ToString()); }