/// <summary> /// Pass production implementation to PartInvoiceController constructor. /// </summary> public PinnacleClient() { DBConnection dBConnection = new DBConnection(); AvailabilityServiceClient availabilityServiceClient = new AvailabilityServiceClient(); __Controller = new PartInvoiceController(dBConnection, availabilityServiceClient); }
public void PartInvoiceControllerTests_CustomerNotFound() { var ioc = new Mock <IIoC>(); var customerRepository = new Mock <ICustomerRepositoryDB>(); Customer customer = null; customerRepository.Setup(r => r.GetByName(It.IsAny <string>())).Returns(customer); ioc.Setup(c => c.Resolve <ICustomerRepositoryDB>()).Returns(customerRepository.Object); var partInvoiceRepository = new Mock <IPartInvoiceRepositoryDB>(); ioc.Setup(c => c.Resolve <IPartInvoiceRepositoryDB>()).Returns(partInvoiceRepository.Object); var partAvailabilityService = new Mock <Services.PartAvailabilityService.IPartAvailabilityService>(); ioc.Setup(c => c.Resolve <Services.PartAvailabilityService.IPartAvailabilityService>()).Returns(partAvailabilityService.Object); var partInvoiceController = new PartInvoiceController(ioc.Object); var stockCode = "PW"; var quantity = 1; var customerName = "PineWood"; var result = partInvoiceController.CreatePartInvoice(stockCode, quantity, customerName); Assert.IsTrue(result.Success == false); }
public void PartInvoiceControllerTests_CreatePartInvoice_Success() { var ioc = new Mock <IIoC>(); var customerRepository = new Mock <ICustomerRepositoryDB>(); Customer customer = new Customer { ID = 1, Name = "PineWood", Address = "UK" }; customerRepository.Setup(r => r.GetByName(It.IsAny <string>())).Returns(customer); ioc.Setup(c => c.Resolve <ICustomerRepositoryDB>()).Returns(customerRepository.Object); var partInvoiceRepository = new Mock <IPartInvoiceRepositoryDB>(); partInvoiceRepository.Setup(r => r.Add(It.IsAny <PartInvoice>())); ioc.Setup(c => c.Resolve <IPartInvoiceRepositoryDB>()).Returns(partInvoiceRepository.Object); var partAvailabilityService = new Mock <Services.PartAvailabilityService.IPartAvailabilityService>(); var availability = 1; partAvailabilityService.Setup(s => s.GetAvailability(It.IsAny <string>())).Returns(availability); ioc.Setup(c => c.Resolve <Services.PartAvailabilityService.IPartAvailabilityService>()).Returns(partAvailabilityService.Object); var partInvoiceController = new PartInvoiceController(ioc.Object); var stockCode = "PW"; var quantity = 1; var customerName = "PineWood"; var result = partInvoiceController.CreatePartInvoice(stockCode, quantity, customerName); Assert.IsTrue(result.Success == true); }
public PinnacleClient() { ICustomerRepositoryDB _CustomerRepository = new CustomerRepositoryDB(); IPartInvoiceRepositoryDB _PartInvoiceRepository = new PartInvoiceRepositoryDB(); IPartAvailabilityService _PartAvailabilityService = new PartAvailabilityServiceClient(); __Controller = new PartInvoiceController(_CustomerRepository, _PartInvoiceRepository, _PartAvailabilityService); }
public void TestInitialize() { _CustomerRepository = new Mock <ICustomerRepositoryDB>(); _PartAvailabilityService = new Mock <IPartAvailabilityService>(); _PartInvoiceRepository = new Mock <IPartInvoiceRepositoryDB>(); controller = new PartInvoiceController( _CustomerRepository.Object, _PartInvoiceRepository.Object, _PartAvailabilityService.Object); }
public void CreatePartInvoiceShouldFail() { //Arrange: string stockCode = null; int quantity = 10; string customerName = "Kalpesh"; CreatePartInvoiceResult expected = new CreatePartInvoiceResult(false); PartInvoiceController controller = new PartInvoiceController(new CustomerRepositoryDBMock(), new PartInvoiceRepositoryDBMock(), new PartAvailabilityServiceProviderMock()); //Act CreatePartInvoiceResult actual = controller.CreatePartInvoice(stockCode, quantity, customerName); //Assert Assert.AreEqual(expected.Success, actual.Success); }
public void CreatePartInvoice_WithSatisfactoryArgument_ShouldReturnCreatePartInvoiceResultWithSuccessTrue() { // Arrange PartInvoiceController PartInvoiceControllerInstance = new PartInvoiceController(FakeConnectionInstance, FakeAvailabilityServiceClientInstance); string stockCode = "HON"; int quantity = 10; string customerName = "Abernathy"; CreatePartInvoiceResult expected = CreatePartInvoiceResultSuccessful; // Act var actual = PartInvoiceControllerInstance.CreatePartInvoice(stockCode, quantity, customerName); // Assert Assert.IsInstanceOfType(actual, typeof(CreatePartInvoiceResult)); Assert.AreEqual(actual.GetType(), expected.GetType()); Assert.AreEqual(actual.Success, expected.Success); }
public void CreatePartInvoice_WithAvailabilityLessThanOrEqualZero_ShouldReturnCreatePartInvoiceResultWithSuccessFalse() { // Arrange PartInvoiceController PartInvoiceControllerInstance = new PartInvoiceController(FakeConnectionInstance, FakeAvailabilityServiceClientInstance); string stockCode = "ASA"; int quantity = 0; string customerName = "Agos"; CreatePartInvoiceResult expected = CreatePartInvoiceResultUnsuccessful; // Act var actual = PartInvoiceControllerInstance.CreatePartInvoice(stockCode, quantity, customerName); // Assert Assert.IsInstanceOfType(actual, typeof(CreatePartInvoiceResult)); Assert.AreEqual(actual.GetType(), expected.GetType()); Assert.AreEqual(actual.Success, expected.Success); }
public void PartInvoiceControllerTests_QuantityNotMoreThan0() { var ioc = new Mock <IIoC>(); var customerRepository = new Mock <ICustomerRepositoryDB>(); ioc.Setup(c => c.Resolve <ICustomerRepositoryDB>()).Returns(customerRepository.Object); var partInvoiceRepository = new Mock <IPartInvoiceRepositoryDB>(); ioc.Setup(c => c.Resolve <IPartInvoiceRepositoryDB>()).Returns(partInvoiceRepository.Object); var partAvailabilityService = new Mock <Services.PartAvailabilityService.IPartAvailabilityService>(); ioc.Setup(c => c.Resolve <Services.PartAvailabilityService.IPartAvailabilityService>()).Returns(partAvailabilityService.Object); var partInvoiceController = new PartInvoiceController(ioc.Object); var stockCode = "PW"; var quantity = 0; var customerName = "PineWood"; var result = partInvoiceController.CreatePartInvoice(stockCode, quantity, customerName); Assert.IsTrue(result.Success == false); }
public PinnacleClient() { __Controller = new PartInvoiceController(); }