Beispiel #1
0
        public async Task Should_Call_AddAsync()
        {
            //Arrange

            const string name = "House Name";

            var model = new HouseToAdd {
                Name = name
            };

            var entity = new HouseEf {
                Name = name
            };

            _mapperMock.Setup(x => x.Map <HouseEf>(It.IsAny <HouseToAdd>()))
            .Returns(entity);

            _manager = new HouseManager(_mapperMock.Object, _houseRepositoryMock.Object);

            //Act

            await _manager.AddAsync(model);

            //Assert

            _mapperMock.Verify(x => x.Map <HouseEf>(It.IsAny <HouseToAdd>()));
            _houseRepositoryMock.Verify(x => x.AddAsync(entity), Times.Once);
        }
Beispiel #2
0
        public async Task Should_Call_UpdateAsync()
        {
            //Arrange

            const int houseId = 1;

            var model = new HouseToUpdate
            {
                Id = houseId
            };

            var entity = new HouseEf
            {
                Id = houseId
            };

            _houseRepositoryMock.Setup(x => x.GetByIdAsync(model.Id))
            .ReturnsAsync(entity);

            _mapperMock.Setup(x => x.Map(model, entity))
            .Returns(entity);

            _manager = new HouseManager(_mapperMock.Object, _houseRepositoryMock.Object);


            //Act

            await _manager.UpdateAsync(model);

            //Assert

            _houseRepositoryMock.Verify(x => x.GetByIdAsync(model.Id), Times.Once);
            _mapperMock.Verify(x => x.Map(model, entity));
            _houseRepositoryMock.Verify(x => x.UpdateAsync(entity), Times.Once);
        }
        private static House ConvertFrom_Entity_To_Model(HouseEf entity, House model)
        {
            var instance = model ?? new House();

            instance.Id     = entity.Id;
            instance.Name   = entity.Name;
            instance.Street = $"{entity.Street} {entity.OutdoorNumber} {entity.InteriorNumber}";
            instance.Users  = string.Join(", ", entity.HouseUsers?.Select(x => $"{x.User.Name} {x.User.LastName}").ToArray());

            return(instance);
        }
        private static HouseEf ConvertFrom_HouseToAdd_To_Entity(HouseToAdd model, HouseEf entity)
        {
            var instance = entity ?? new HouseEf();

            instance.IsActive       = true;
            instance.CreationDate   = DateTime.Now;
            instance.Name           = model.Name.RemoveSpace();
            instance.Street         = model.Street.RemoveSpace();
            instance.ResidentialId  = model.ResidentialId;
            instance.OutdoorNumber  = model.OutdoorNumber.RemoveSpace();
            instance.InteriorNumber = model.InteriorNumber.RemoveSpace();

            instance.HouseUsers = model.Users?
                                  .Select(user => new HouseUserEf {
                UserId = user.Id
            }).ToList();

            return(instance);
        }
Beispiel #5
0
        public async Task Should_GetByIdAsync_ReturnsAHouses()
        {
            //Arrange

            const int houseId = 1;

            var houseEntity = new HouseEf
            {
                Id = houseId
            };

            var houseModels = new HouseToUpdate
            {
                Id = houseId
            };

            var parameter = new Parameter
            {
                ItemsPerPage = 5
            };

            _houseRepositoryMock.Setup(x => x.GetByIdAsync(houseId))
            .ReturnsAsync(houseEntity);

            _mapperMock.Setup(x => x.Map <HouseToUpdate>(houseEntity))
            .Returns(houseModels);

            _manager = new HouseManager(_mapperMock.Object, _houseRepositoryMock.Object);


            //Act

            var model = await _manager.GetByIdAsync(houseId);

            //Assert

            _houseRepositoryMock.Verify(x => x.GetByIdAsync(houseId), Times.Once);
            _mapperMock.Verify(x => x.Map <HouseToUpdate>(houseEntity), Times.Once);

            Assert.NotNull(model);
            Assert.Equal(houseId, model.Id);
        }
        private static HouseToUpdate ConvertFrom_HouseToUpdate_To_Entity(HouseEf entity, HouseToUpdate model)
        {
            var instance = model ?? new HouseToUpdate();

            instance.Id             = entity.Id;
            instance.Name           = entity.Name;
            instance.Street         = entity.Street;
            instance.IsActive       = entity.IsActive;
            instance.OutdoorNumber  = entity.OutdoorNumber;
            instance.ResidentialId  = entity.ResidentialId;
            instance.InteriorNumber = entity.InteriorNumber;

            instance.Users = entity.HouseUsers?.Select(
                houseUser => new FilteredUser
            {
                Id       = houseUser.User.Id,
                Email    = houseUser.User.Email,
                FullName = $"{houseUser.User.Name} {houseUser.User.LastName}"
            }).ToList();


            return(instance);
        }
        private static HouseEf ConvertFrom_Entity_To_HouseToUpdate(HouseToUpdate model, HouseEf entity)
        {
            var instance = entity ?? new HouseEf();

            instance.Name           = model.Name.RemoveSpace();
            instance.Street         = model.Street.RemoveSpace();
            instance.OutdoorNumber  = model.OutdoorNumber.RemoveSpace();
            instance.InteriorNumber = model.InteriorNumber.RemoveSpace();

            instance.HouseUsers.Clear();
            instance.HouseUsers = model.Users?
                                  .Select(user => new HouseUserEf {
                UserId = user.Id, HouseId = model.Id
            }).ToList();

            return(instance);
        }