Beispiel #1
0
        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);
        }
Beispiel #2
0
        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());
        }