public void CreatePartInvoice_should_return_false_when_PartAvailabilityService_return_availability_smaller_than_zero(int _availability)
        {
            _CustomerRepository.Setup(repo => repo.GetByName(CUSTOMER_NAME)).Returns(CUSTOMER);
            _PartAvailabilityService.Setup(service => service.GetAvailability(STOCK_CODE)).Returns(_availability);

            CreatePartInvoiceResult result = controller.CreatePartInvoice(STOCK_CODE, QUANTITY, CUSTOMER_NAME);

            Assert.IsFalse(result.Success);
        }
Esempio n. 2
0
        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_should_return_false_when_customer_id_is_smaller_or_equal_than_zero(int _customerId)
        {
            Customer customer = new Customer
            {
                ID      = _customerId,
                Name    = CUSTOMER_NAME,
                Address = "some where"
            };

            _CustomerRepository.Setup(repo => repo.GetByName(CUSTOMER_NAME)).Returns(customer);

            CreatePartInvoiceResult result = controller.CreatePartInvoice(STOCK_CODE, QUANTITY, CUSTOMER_NAME);

            Assert.IsFalse(result.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 CreatePartInvoice_should_return_true_when_PartInvoiceRepository_add_successfully()
        {
            _CustomerRepository.Setup(repo => repo.GetByName(CUSTOMER_NAME)).Returns(CUSTOMER);
            _PartAvailabilityService.Setup(service => service.GetAvailability(STOCK_CODE)).Returns(AVAILABILITY);

            CreatePartInvoiceResult result = controller.CreatePartInvoice(STOCK_CODE, QUANTITY, CUSTOMER_NAME);

            _PartInvoiceRepository
            .Verify
                (repo =>
                repo.Add
                    (It.Is <PartInvoice>
                        (part =>
                        part.StockCode == STOCK_CODE &&
                        part.Quantity == QUANTITY &&
                        part.CustomerID == CUSTOMER_ID)
                    )
                );

            Assert.IsTrue(result.Success);
        }
        public void CreatePartInvoice_should_return_false_when_stock_code_not_null_but_quantity_is_smaller_or_equals_zero(int _quantity)
        {
            CreatePartInvoiceResult result = controller.CreatePartInvoice(STOCK_CODE, _quantity, CUSTOMER_NAME);

            Assert.IsFalse(result.Success);
        }
        public void CreatePartInvoice_should_return_false_when_stock_code_is_null()
        {
            CreatePartInvoiceResult result = controller.CreatePartInvoice(null, QUANTITY, CUSTOMER_NAME);

            Assert.IsFalse(result.Success);
        }