public void Vend(VendDTO vend) { if (vend == null) { throw new ArgumentNullException("vend"); } if (vend.payment == null) { throw new ArgumentNullException("payment"); } if (vend.flavour == 0) { throw new ArgumentException("flavour"); } //if we have db then we should perfrm all actions in this function under transaction Payment payment = PaymentMapper.Map(vend.payment); _paymentRepository.Add(payment); var criteria = new DrinkCanFindCriteria(); criteria.Flavour = vend.flavour; DrinkCan can = _drinkCanRepository.FindByCriteria(criteria).FirstOrDefault(); _drinkCanRepository.Delete(can); }
public void Test_MachineService_Vend() { using (var mock = AutoMock.GetLoose()) { try { // Arrange - configure the mock var paymentDTO = new PaymentDTO() { PaymentID = 1, Amount = 1.50m, Type = PaymentType.CreditCard }; VendDTO recDTO = new VendDTO() { payment = paymentDTO, flavour = Flavour.Apple }; var service = mock.Create <MachineSerivce>(); // Act service.Vend(recDTO); //Assert Assert.IsTrue(true); } catch { Assert.IsTrue(false); } } }
public HttpResponseMessage Post([FromBody] VendDTO vend) { _machineService.Vend(vend); return(Request.CreateResponse(HttpStatusCode.OK)); }