public void AddNewSoftwareReturnAddedSoftware() { //Arrange var customerRepository = new StubICustomerRepository(); var orderRepository = new StubIOrderRepository(); var productRepository = new StubIProductRepository(); productRepository.UnitOfWorkGet = () => { var uow = new StubIUnitOfWork(); uow.Commit = () => { }; return uow; }; productRepository.AddProduct = (product) => { }; var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); var dto = new SoftwareDto() { Title = "The title", Description = "description", LicenseCode = "license code", AmountInStock = 10, UnitPrice = 10 }; //Act var result = salesManagement.AddNewSoftware(dto); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Id != Guid.Empty); Assert.AreEqual(result.Title, dto.Title); Assert.AreEqual(result.Description, dto.Description); Assert.AreEqual(result.LicenseCode, dto.LicenseCode); Assert.AreEqual(result.AmountInStock, dto.AmountInStock); Assert.AreEqual(result.UnitPrice, dto.UnitPrice); }
public void AddNewSoftwareWithNullDataThrowArgumentException() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //Act var result = salesManagement.AddNewSoftware(null); }
public void AddNewSoftwareThrowExceptionWhenDataIsInvalid() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); var dto = new SoftwareDto() { Title = "The title", Description = "the description", LicenseCode = "license", AmountInStock = 10, UnitPrice = -1 //this is a not valid value }; //Act var result = salesManagement.AddNewSoftware(dto); }
public void AddNewSoftwareWithNullDataReturnNull() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var productRepository = new SIProductRepository(); var orderRepository = new SIOrderRepository(); var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); //Act var result = salesManagement.AddNewSoftware(null); //Assert Assert.IsNull(result); }