public void Create_ValidInvoiceDetails_InvoiceCreated() { var id = Guid.NewGuid(); var currencyId = Guid.NewGuid(); var customerId = Guid.NewGuid(); var orderNo = "ORDER123454"; var bankDetailsId = Guid.NewGuid(); var paymentTermId = Guid.NewGuid(); var taxCodeId = Guid.NewGuid(); var invoiceRepositoryMock = MockRepository.GenerateMock <IInvoiceRepository>(); invoiceRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments(); _invoiceService = InvoiceServiceFactory.Create( _userContext, invoiceRepositoryMock, ListItemRepositoryTestHelper.GetListItemRepository_StubsGetById_ReturnsPaymentTerm(paymentTermId), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId), BankDetailsRepositoryTestHelper.GetBankDetailsRepository_StubsGetById_ReturnsBankDetails(bankDetailsId), TaxCodeRepositoryTestHelper.GetTaxCodeRepository_StubsGetById_ReturnsTaxCode(taxCodeId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId)); Create(id, currencyId, customerId, bankDetailsId, paymentTermId, taxCodeId, orderNo); invoiceRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedInvoice.Id); Assert.That(_savedInvoice.InvoiceNumber.StartsWith("IR")); Assert.AreEqual(_dateCreated, _savedInvoice.DateCreated); Assert.AreEqual(orderNo, _savedInvoice.OrderNo); Assert.IsNotNull(_savedInvoice.Currency); Assert.IsNotNull(_savedInvoice.Customer); Assert.IsNotNull(_savedInvoice.BankDetails); Assert.IsNotNull(_savedInvoice.PaymentTerm); Assert.IsNotNull(_savedInvoice.TaxCode); }
public void Create_InvalidSupplierId_ArgumentExceptionThrown() { var orderId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = "some instructions"; var currencyId = Guid.NewGuid(); _orderService = OrderServiceTestHelper.CreateOrderService( MockRepository.GenerateStub <IOrderRepository>(), SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsNull(supplierId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); CreateOrder(orderId, supplierId, instructions, currencyId); }
public void Create_UserHasInsufficentSecurity_DomainValidationExceptionThrown() { var orderId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = "some instructions"; var currencyId = Guid.NewGuid(); _orderService = OrderServiceTestHelper.CreateOrderService( MockRepository.GenerateStub <IOrderRepository>(), SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsSupplier(supplierId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public)); CreateOrder(orderId, supplierId, instructions, currencyId); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InsufficientSecurityClearance)); }
public void Create_InstructionsGreaterThan255Characters_ArgumentExceptionThrown() { var orderId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = new string('a', 256); var currencyId = Guid.NewGuid(); _orderService = OrderServiceTestHelper.CreateOrderService( MockRepository.GenerateStub <IOrderRepository>(), SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsSupplier(supplierId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); CreateOrder(orderId, supplierId, instructions, currencyId); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InstructionsTooLarge)); }
public void Edit_UserHasInsufficientSecurityClearance_DomainValidationExceptionThrown() { var orderNo = "ORDER12345"; var adviceNo = "ADV12345"; var currencyId = Guid.NewGuid(); var quoteRepositoryStub = MockRepository.GenerateMock<IQuoteRepository>(); quoteRepositoryStub.Stub(x => x.GetById(_quoteForEditId)).Return(_quoteForEdit); _quoteService = QuoteServiceTestHelper.CreateQuoteService( quoteRepositoryStub, MockRepository.GenerateStub<ICustomerRepository>(), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Member)); Edit(_quoteForEditId, orderNo, adviceNo, currencyId); Assert.IsTrue(_domainValidationException.ResultContainsMessage(JobSystem.Resources.Quotes.Messages.InsufficientSecurityClearance)); }
public void Edit_AdviceNoGreaterThan50Characters_DomainValidationExceptionThrown() { var orderNo = "ORDER12345"; var adviceNo = new string('a', 51); var currencyId = Guid.NewGuid(); var quoteRepositoryStub = MockRepository.GenerateMock<IQuoteRepository>(); quoteRepositoryStub.Stub(x => x.GetById(_quoteForEditId)).Return(_quoteForEdit); _quoteService = QuoteServiceTestHelper.CreateQuoteService( quoteRepositoryStub, MockRepository.GenerateStub<ICustomerRepository>(), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); Edit(_quoteForEditId, orderNo, adviceNo, currencyId); Assert.IsTrue(_domainValidationException.ResultContainsMessage(JobSystem.Resources.Quotes.Messages.AdviceNoTooLarge)); }
public void Edit_InvalidQuoteId_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var orderNo = "ORDER12345"; var adviceNo = "ADV12345"; var currencyId = Guid.NewGuid(); var quoteRepositoryStub = MockRepository.GenerateMock<IQuoteRepository>(); quoteRepositoryStub.Stub(x => x.GetById(id)).Return(null); _quoteService = QuoteServiceTestHelper.CreateQuoteService( quoteRepositoryStub, MockRepository.GenerateStub<ICustomerRepository>(), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); Edit(id, orderNo, adviceNo, currencyId); }
public void Create_UserHasInsufficientSecurityClearance_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var currencyId = Guid.NewGuid(); var orderNo = "PO1000"; var adviceNo = "AD1000"; _quoteService = QuoteServiceTestHelper.CreateQuoteService( MockRepository.GenerateStub<IQuoteRepository>(), QuoteServiceTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Member)); CreateQuote(id, customerId, orderNo, adviceNo, currencyId); Assert.IsTrue(_domainValidationException.ResultContainsMessage(JobSystem.Resources.Quotes.Messages.InsufficientSecurityClearance)); }
public void Create_AdviceNoGreaterThan50Characters_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var currencyId = Guid.NewGuid(); var orderNo = "PO1000"; var adviceNo = new string('a', 51); _quoteService = QuoteServiceTestHelper.CreateQuoteService( MockRepository.GenerateStub<IQuoteRepository>(), QuoteServiceTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); CreateQuote(id, customerId, orderNo, adviceNo, currencyId); Assert.IsTrue(_domainValidationException.ResultContainsMessage(JobSystem.Resources.Quotes.Messages.AdviceNoTooLarge)); }
public void Create_InvalidTaxCodeId_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var currencyId = Guid.NewGuid(); var orderNo = "ORDER123454"; var customerId = Guid.NewGuid(); var bankDetailsId = Guid.NewGuid(); var paymentTermId = Guid.NewGuid(); var taxCodeId = Guid.NewGuid(); _invoiceService = InvoiceServiceFactory.Create( _userContext, MockRepository.GenerateStub <IInvoiceRepository>(), ListItemRepositoryTestHelper.GetListItemRepository_StubsGetById_ReturnsPaymentTerm(paymentTermId), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId), BankDetailsRepositoryTestHelper.GetBankDetailsRepository_StubsGetById_ReturnsBankDetails(bankDetailsId), TaxCodeRepositoryTestHelper.GetTaxCodeRepository_StubsGetById_ReturnsNull(taxCodeId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId)); Create(id, currencyId, customerId, bankDetailsId, paymentTermId, taxCodeId, orderNo); }
public void Edit_MemberIsAdmin_ItemEdited() { var orderNo = "ORDER12345"; var adviceNo = "ADV12345"; var currencyId = Guid.NewGuid(); var quoteRepositoryMock = MockRepository.GenerateMock<IQuoteRepository>(); quoteRepositoryMock.Stub(x => x.GetById(_quoteForEditId)).Return(_quoteForEdit); quoteRepositoryMock.Expect(x => x.Update(null)).IgnoreArguments(); _quoteService = QuoteServiceTestHelper.CreateQuoteService( quoteRepositoryMock, MockRepository.GenerateStub<ICustomerRepository>(), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Admin | UserRole.Member)); Edit(_quoteForEditId, orderNo, adviceNo, currencyId); quoteRepositoryMock.VerifyAllExpectations(); Assert.AreEqual(orderNo, _quoteForEdit.OrderNumber); Assert.AreEqual(adviceNo, _quoteForEdit.AdviceNumber); Assert.AreEqual(currencyId, _quoteForEdit.Currency.Id); Assert.AreEqual(2, _quoteForEdit.Revision); }
public void Edit_ValidQuoteDetails_ItemEdited() { var orderNo = "ORDER12345"; var adviceNo = "ADV12345"; var currencyId = Guid.NewGuid(); var quoteRepositoryMock = MockRepository.GenerateMock<IQuoteRepository>(); quoteRepositoryMock.Stub(x => x.GetById(_quoteForEditId)).Return(_quoteForEdit); quoteRepositoryMock.Expect(x => x.Update(null)).IgnoreArguments(); _quoteService = QuoteServiceTestHelper.CreateQuoteService( quoteRepositoryMock, MockRepository.GenerateStub<ICustomerRepository>(), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); Edit(_quoteForEditId, orderNo, adviceNo, currencyId); quoteRepositoryMock.VerifyAllExpectations(); Assert.AreEqual(orderNo, _quoteForEdit.OrderNumber); Assert.AreEqual(adviceNo, _quoteForEdit.AdviceNumber); Assert.AreEqual(currencyId, _quoteForEdit.Currency.Id); Assert.AreEqual(2, _quoteForEdit.Revision); }
public void Create_UserHasInsufficientSecurityClearance_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var currencyId = Guid.NewGuid(); var orderNo = "ORDER123454"; var customerId = Guid.NewGuid(); var bankDetailsId = Guid.NewGuid(); var paymentTermId = Guid.NewGuid(); var taxCodeId = Guid.NewGuid(); _invoiceService = InvoiceServiceFactory.Create( TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Member), MockRepository.GenerateStub <IInvoiceRepository>(), ListItemRepositoryTestHelper.GetListItemRepository_StubsGetById_ReturnsPaymentTerm(paymentTermId), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId), BankDetailsRepositoryTestHelper.GetBankDetailsRepository_StubsGetById_ReturnsBankDetails(bankDetailsId), TaxCodeRepositoryTestHelper.GetTaxCodeRepository_StubsGetById_ReturnsTaxCode(taxCodeId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId)); Create(id, currencyId, customerId, bankDetailsId, paymentTermId, taxCodeId, orderNo); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InsufficientSecurityClearance)); }
public void Create_ValidOrderDetails_OrderCreated() { var orderId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = "some instructions"; var currencyId = Guid.NewGuid(); var orderRepositoryMock = MockRepository.GenerateMock <IOrderRepository>(); orderRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments(); _orderService = OrderServiceTestHelper.CreateOrderService( orderRepositoryMock, SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsSupplier(supplierId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); CreateOrder(orderId, supplierId, instructions, currencyId); orderRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedOrder.Id); Assert.That(_savedOrder.OrderNo.StartsWith("OR")); Assert.AreEqual("*****@*****.**", _savedOrder.CreatedBy.EmailAddress); Assert.AreEqual(_dateCreated, _savedOrder.DateCreated); Assert.AreEqual(false, _savedOrder.IsApproved); }
public void Create_ValidQuoteDetails_QuoteCreated() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var currencyId = Guid.NewGuid(); var orderNo = "PO1010"; var adviceNo = "AD1010"; var quoteRepositoryMock = MockRepository.GenerateMock<IQuoteRepository>(); quoteRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments(); _quoteService = QuoteServiceTestHelper.CreateQuoteService( quoteRepositoryMock, QuoteServiceTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId), _userContext); CreateQuote(id, customerId, orderNo, adviceNo, currencyId); quoteRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedQuote.Id); Assert.That(_savedQuote.QuoteNumber.StartsWith("QR")); Assert.AreEqual(_dateCreated, _savedQuote.DateCreated); Assert.AreEqual("*****@*****.**", _savedQuote.CreatedBy.EmailAddress); Assert.AreEqual(1, _savedQuote.Revision); Assert.IsTrue(_savedQuote.IsActive); }
public void Create_InvalidOrderNo_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var currencyId = Guid.NewGuid(); var customerId = Guid.NewGuid(); var orderNo = new string('a', 51); var bankDetailsId = Guid.NewGuid(); var paymentTermId = Guid.NewGuid(); var taxCodeId = Guid.NewGuid(); var invoiceRepositoryMock = MockRepository.GenerateMock <IInvoiceRepository>(); invoiceRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments(); _invoiceService = InvoiceServiceFactory.Create( _userContext, invoiceRepositoryMock, ListItemRepositoryTestHelper.GetListItemRepository_StubsGetById_ReturnsPaymentTerm(paymentTermId), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId), BankDetailsRepositoryTestHelper.GetBankDetailsRepository_StubsGetById_ReturnsBankDetails(bankDetailsId), TaxCodeRepositoryTestHelper.GetTaxCodeRepository_StubsGetById_ReturnsTaxCode(taxCodeId), CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId)); Create(id, currencyId, customerId, bankDetailsId, paymentTermId, taxCodeId, orderNo); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.OrderNoTooLarge)); }