Пример #1
0
        public void Can_Remove_Entity()
        {
            // Arrange
            var entity = new ShipsToRequest
            {
                Origin = new WarehouseResponse()
                {
                    Id = 1
                },
                Destiny = new WarehouseResponse()
                {
                    Id = 4
                },
                Cost = 3,
                Time = 3
            };

            // Act
            Service.Remove(entity);

            // Assert
            Repository.Verify(x => x.Delete(It.IsAny <SHIPS_TO>(), It.IsAny <Warehouse>(), It.IsAny <Warehouse>()), Times.Once);
            var entityResult = Service.GetDirectRoute(entity.Origin.Id, entity.Destiny.Id);
            var entities     = Service.Get();

            Assert.Empty(entityResult);
            Assert.Equal(2, entities.Count());
        }
Пример #2
0
        public void Can_Update_Entity()
        {
            // Arrange
            var entity = new ShipsToRequest
            {
                Origin = new WarehouseResponse()
                {
                    Id = 1
                },
                Destiny = new WarehouseResponse()
                {
                    Id = 3
                },
                Cost = 3,
                Time = 30
            };

            // Act
            Service.Update(entity);

            // Assert
            Repository.Verify(x => x.Update(It.IsAny <SHIPS_TO>(), It.IsAny <Warehouse>(), It.IsAny <Warehouse>()), Times.Once);
            var entityResult = Service.GetDirectRoute(entity.Origin.Id, entity.Destiny.Id).SingleOrDefault();

            Assert.Equal(3, entityResult.Cost);
            Assert.Equal(30, entityResult.Time);
            var entities = Service.Get();

            Assert.Equal(3, entities.Count());
        }
Пример #3
0
        public void Can_Insert_Entity()
        {
            // Arrange
            var entity = new ShipsToRequest
            {
                Origin = new WarehouseResponse()
                {
                    Id = 1
                },
                Destiny = new WarehouseResponse()
                {
                    Id = 4
                },
                Cost = 100,
                Time = 50
            };

            // Act
            Service.Create(entity);

            // Assert
            Repository.Verify(x => x.Insert(It.IsAny <SHIPS_TO>(), It.IsAny <Warehouse>(), It.IsAny <Warehouse>()), Times.Once);
            var entities = Service.Get();

            Assert.Equal(4, entities.Count());
        }
Пример #4
0
        public void Remove(ShipsToRequest entity)
        {
            var origin  = _mapper.Map <WarehouseResponse, Warehouse>(entity.Origin);
            var destiny = _mapper.Map <WarehouseResponse, Warehouse>(entity.Destiny);

            _repository.Delete(_mapper.Map <ShipsToRequest, SHIPS_TO>(entity), origin, destiny);
        }
        public void RemoveRoute([Required] string origin, [Required] string destiny)
        {
            var originWarehouse  = GetWarehouseByName(origin);
            var destinyWarehouse = GetWarehouseByName(destiny);

            if (!_service.GetDirectRoute(originWarehouse.Id, destinyWarehouse.Id).Any())
            {
                throw new HttpRequestException(_errorHandler.GetErrorMessage(ErrorMessagesEnum.EntityNotFound));
            }

            var request = new ShipsToRequest
            {
                Origin  = originWarehouse,
                Destiny = destinyWarehouse
            };

            _service.Remove(request);
        }
        public void UpdateRoute([Required] string origin, [Required] string destiny, [FromBody] ShipsToRequestModel entity)
        {
            WarehouseResponse originWarehouse, destinyWarehouse;

            ValidateRequest(origin, destiny, entity, out originWarehouse, out destinyWarehouse);
            if (!_service.GetDirectRoute(originWarehouse.Id, destinyWarehouse.Id).Any())
            {
                throw new HttpRequestException(_errorHandler.GetErrorMessage(ErrorMessagesEnum.EntityNotFound));
            }

            var request = new ShipsToRequest
            {
                Cost    = entity.Cost,
                Time    = entity.Time,
                Origin  = originWarehouse,
                Destiny = destinyWarehouse
            };

            _service.Update(request);
        }