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 CreatePending_JobItemWithQuoteItem_PendingItemCreatedSuccessfully() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var notes = "some notes"; var deliveryItemRepositoryMock = MockRepository.GenerateMock <IDeliveryItemRepository>(); deliveryItemRepositoryMock.Expect(x => x.CreatePending(null)).IgnoreArguments(); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), deliveryItemRepositoryMock, JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItem(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), MockRepository.GenerateStub <IListItemRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId)); CreatePending(id, customerId, jobItemId, notes); deliveryItemRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedPendingItem.Id); Assert.IsNotNull(_savedPendingItem.JobItem); Assert.IsNotNull(_savedPendingItem.QuoteItem); Assert.IsNotNull(_savedPendingItem.Customer); }
public void Create_InvalidCustomerId_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var fao = "Graham Robertson"; _deliveryService = DeliveryServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsNull(customerId)); Create(id, customerId, fao); }
public void Create_InvalidFao_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var fao = new string('a', 256); _deliveryService = DeliveryServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId)); Create(id, customerId, fao); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InvalidFao)); }
public void Create_UserHasInsufficientSecurityClearance_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var fao = "Graham Robertson"; _deliveryService = DeliveryServiceFactory.Create( TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public), MockRepository.GenerateStub <IDeliveryRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId)); Create(id, customerId, fao); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InsufficientSecurityClearance)); }
public void CreatePending_InvalidCustomerId_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var notes = "some notes"; _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), MockRepository.GenerateStub <IDeliveryItemRepository>(), JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItem(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), MockRepository.GenerateStub <IListItemRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsNull(customerId)); CreatePending(id, customerId, jobItemId, notes); }
public void CreatePending_UserHasInsufficientSecurityClearance_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var notes = "some notes"; _deliveryItemService = DeliveryItemServiceFactory.Create( TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public), MockRepository.GenerateStub <IDeliveryRepository>(), MockRepository.GenerateStub <IDeliveryItemRepository>(), JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItem(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), MockRepository.GenerateStub <IListItemRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId)); CreatePending(id, customerId, jobItemId, notes); Assert.IsTrue(_domainValidationException.ResultContainsMessage(DeliveryItemMessages.InsufficientSecurityClearance)); }
public void CreatePending_NotesGreaterThan255Characters_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var notes = new string('a', 256); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), MockRepository.GenerateStub <IDeliveryItemRepository>(), JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItem(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), MockRepository.GenerateStub <IListItemRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId)); CreatePending(id, customerId, jobItemId, notes); Assert.IsTrue(_domainValidationException.ResultContainsMessage(DeliveryItemMessages.InvalidNotes)); }
public void CreatePending_JobIsPending_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var notes = "some notes"; _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), MockRepository.GenerateStub <IDeliveryItemRepository>(), JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItemOnPendingJob(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), MockRepository.GenerateStub <IListItemRepository>(), CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsNull(customerId)); CreatePending(id, customerId, jobItemId, notes); Assert.IsTrue(_domainValidationException.ResultContainsMessage(DeliveryItemMessages.JobPending)); }
public void Create_ValidDeliveryDetails_DeliveryCreated() { var id = Guid.NewGuid(); var customerId = Guid.NewGuid(); var fao = "Graham Robertson"; var deliveryRepositoryMock = MockRepository.GenerateMock <IDeliveryRepository>(); deliveryRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments(); _deliveryService = DeliveryServiceFactory.Create( _userContext, deliveryRepositoryMock, CustomerRepositoryTestHelper.GetCustomerRepository_StubsGetById_ReturnsCustomer(customerId)); Create(id, customerId, fao); deliveryRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedDelivery.Id); Assert.That(_savedDelivery.DeliveryNoteNumber.StartsWith("DR")); Assert.AreEqual(_dateCreated, _savedDelivery.DateCreated); Assert.IsNotNull(_savedDelivery.Customer); }
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 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_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)); }