public async Task <VmPriceLadder> Get(int priceLadderId) { if (priceLadderId <= 0) { throw new ErrorHandlerMiddleware.HttpStatusCodeException(HttpStatusCode.BadRequest); } var result = await _priceLadderService.GetById(priceLadderId); if (result == null) { throw new ErrorHandlerMiddleware.HttpStatusCodeException(HttpStatusCode.NotFound); } return(VmPriceLadder.Build(result)); }
public async Task Get_Returns_Price_Ladder() { var priceLadderRepository = new Mock <IPriceLadderRepository>(); var service = new PriceLadderService(priceLadderRepository.Object); var controller = new PriceLadderController(service); var priceLadderType = new PriceLadderType { PriceLadderTypeId = 22, Description = "PriceLadderTypeDescription" }; var entity = new PriceLadder { PriceLadderId = 42, PriceLadderTypeId = priceLadderType.PriceLadderTypeId, PriceLadderType = priceLadderType, Description = "Description", }; entity.Values.Add(new PriceLadderValue { PriceLadderValueId = 1, PriceLadder = entity, PriceLadderId = entity.PriceLadderId, Order = 1, Value = 0.1M }); entity.Values.Add(new PriceLadderValue { PriceLadderValueId = 1, PriceLadder = entity, PriceLadderId = entity.PriceLadderId, Order = 2, Value = 0.2M }); entity.Values.Add(new PriceLadderValue { PriceLadderValueId = 1, PriceLadder = entity, PriceLadderId = entity.PriceLadderId, Order = 3, Value = 0.3M }); priceLadderRepository .Setup(x => x.GetById(entity.PriceLadderId)) .ReturnsAsync(entity); var expected = new VmPriceLadder { PriceLadderId = 42, Description = "Description", PriceLadderTypeId = 22, Values = new List <decimal> { 0.1M, 0.2M, 0.3M } }; var result = await controller.Get(entity.PriceLadderId); result.ShouldBeEquivalentTo(expected); }