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 CreateDeliveriesFromPendingItems_ValidPendingDeliveryItems_DeliveriesCreated() { var dispatcher = MockRepository.GenerateMock <IQueueDispatcher <IMessage> >(); var userRepository = new UserAccountRepository(); var user = userRepository.GetByEmail("*****@*****.**", false); var userContext = new TestUserContext(user); var quoteRepository = new QuoteRepository(); var quoteItemRepository = new QuoteItemRepository(); var customerRepository = new CustomerRepository(); var jobRepository = new JobRepository(); var jobItemRepository = new JobItemRepository(); var listItemRepository = new ListItemRepository(); var entityIdProvider = new DirectEntityIdProvider(); var instrumentRepository = new InstrumentRepository(); var deliveryRepository = new DeliveryRepository(); var deliveryItemRepository = new DeliveryItemRepository(); var customerId1 = Guid.NewGuid(); var customerId2 = Guid.NewGuid(); var job1Id = Guid.NewGuid(); var job2Id = Guid.NewGuid(); var job3Id = Guid.NewGuid(); var jobItem1Id = Guid.NewGuid(); var jobItem2Id = Guid.NewGuid(); var jobItem3Id = Guid.NewGuid(); var jobItem4Id = Guid.NewGuid(); var jobItem5Id = Guid.NewGuid(); var jobItem6Id = Guid.NewGuid(); var jobItem7Id = Guid.NewGuid(); var jobItem8Id = Guid.NewGuid(); var jobItem9Id = Guid.NewGuid(); CreateDeliveriesFromPendingItemsHelper.CreateContextForPendingItemTests( customerId1, customerId2, job1Id, job2Id, job3Id, jobItem1Id, jobItem2Id, jobItem3Id, jobItem4Id, jobItem5Id, jobItem6Id, jobItem7Id, jobItem8Id, jobItem9Id); var deliveryItemService = new DeliveryItemService( userContext, deliveryRepository, deliveryItemRepository, jobItemRepository, quoteItemRepository, listItemRepository, customerRepository, dispatcher); var deliveryService = new DeliveryService(userContext, deliveryRepository, deliveryItemService, customerRepository, entityIdProvider, dispatcher); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem1Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem2Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem3Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem4Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem5Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem6Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem7Id, customerId1, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem8Id, customerId2, "some notes"); deliveryItemService.CreatePending(Guid.NewGuid(), jobItem9Id, customerId2, "some notes"); deliveryService.CreateDeliveriesFromPendingItems(); var deliveries = deliveryService.GetDeliveries().ToList(); Assert.AreEqual(2, deliveries.Count); var deliveryItems = deliveryItemService.GetDeliveryItems(deliveries[0].Id).ToList(); Assert.AreEqual(7, deliveryItems.Count); }
public void Setup() { _userContext = TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Manager | UserRole.Member); _domainValidationException = null; _savedPendingItem = null; _savedDeliveryItem = null; _jobItemService = null; _deliveryItemService = null; _jobItemToUpdateId = Guid.NewGuid(); _jobItemToUpdate = new JobItem { Id = _jobItemToUpdateId, Job = new Job { Id = Guid.NewGuid(), JobNo = "JR2000", CreatedBy = _userContext.GetCurrentUser(), OrderNo = "ORDER12345", DateCreated = DateTime.UtcNow, Customer = new Customer { Id = Guid.NewGuid(), Name = "Gael Ltd" } }, ItemNo = 1, SerialNo = "12345", Instrument = new Instrument { Id = Guid.NewGuid(), Manufacturer = "Druck", ModelNo = "DPI601IS", Range = "None", Description = "Digital Pressure Indicator" }, CalPeriod = 12, Created = DateTime.UtcNow, CreatedUser = _userContext.GetCurrentUser(), }; _deliveryItemForEditId = Guid.NewGuid(); _deliveryItemForEdit = new DeliveryItem { Id = _deliveryItemForEditId, Delivery = new Delivery { Id = Guid.NewGuid(), DeliveryNoteNumber = "DR2000", Customer = new Customer { Id = Guid.NewGuid(), Name = "Gael" } }, ItemNo = 1, }; }
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_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 Edit_InvalidDeliveryItemId_ThrowsArgumentException() { var notes = "some notes"; var deliveryItemRepositoryStub = MockRepository.GenerateMock <IDeliveryItemRepository>(); deliveryItemRepositoryStub.Stub(x => x.GetById(_deliveryItemForEditId)).Return(null); _jobItemService = JobItemServiceFactory.Create(_userContext, MockRepository.GenerateStub <IJobItemRepository>()); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), deliveryItemRepositoryStub, MockRepository.GenerateStub <IJobItemRepository>(), MockRepository.GenerateStub <IQuoteItemRepository>(), MockRepository.GenerateStub <IListItemRepository>(), MockRepository.GenerateStub <ICustomerRepository>()); Edit(_deliveryItemForEditId, notes); }
public void Create_InvalidDeliveryId_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var deliveryId = Guid.NewGuid(); var jobItemId = _jobItemToUpdateId; var notes = "some notes"; _jobItemService = JobItemServiceFactory.Create(_userContext, MockRepository.GenerateStub <IJobItemRepository>()); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, DeliveryRepositoryTestHelper.GetDeliveryRepository_StubsGetById_ReturnsNull(deliveryId), MockRepository.GenerateStub <IDeliveryItemRepository>(), JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItem(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), ListItemRepositoryTestHelper.GetListItemRepository_StubsGetByType_ReturnsListItem(new ListItemType[] { ListItemType.StatusDeliveryNoteProduced }), MockRepository.GenerateStub <ICustomerRepository>()); CreateDeliveryItem(id, deliveryId, 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_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_UserHasInsufficientSecurityClearance_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var deliveryId = Guid.NewGuid(); var jobItemId = _jobItemToUpdateId; var notes = "some notes"; _jobItemService = JobItemServiceFactory.Create(_userContext, MockRepository.GenerateStub <IJobItemRepository>()); _deliveryItemService = DeliveryItemServiceFactory.Create( TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public), DeliveryRepositoryTestHelper.GetDeliveryRepository_StubsGetByIdForDeliveryWith1Item_ReturnsDelivery(deliveryId), MockRepository.GenerateStub <IDeliveryItemRepository>(), JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItem(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), ListItemRepositoryTestHelper.GetListItemRepository_StubsGetByType_ReturnsListItem(new ListItemType[] { ListItemType.StatusDeliveryNoteProduced }), MockRepository.GenerateStub <ICustomerRepository>()); CreateDeliveryItem(id, deliveryId, jobItemId, notes); Assert.IsTrue(_domainValidationException.ResultContainsMessage(DeliveryItemMessages.InsufficientSecurityClearance)); }
public void Create_NotesGreaterThan255Characters_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var deliveryId = Guid.NewGuid(); var jobItemId = _jobItemToUpdateId; var notes = new string('a', 256); _jobItemService = JobItemServiceFactory.Create(_userContext, MockRepository.GenerateStub <IJobItemRepository>()); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, DeliveryRepositoryTestHelper.GetDeliveryRepository_StubsGetByIdForDeliveryWith1Item_ReturnsDelivery(deliveryId), MockRepository.GenerateStub <IDeliveryItemRepository>(), JobItemRepositoryTestHelper.GetJobItemRepository_StubsGetById_ReturnsJobItem(jobItemId), QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), ListItemRepositoryTestHelper.GetListItemRepository_StubsGetByType_ReturnsListItem(new ListItemType[] { ListItemType.StatusDeliveryNoteProduced }), MockRepository.GenerateStub <ICustomerRepository>()); CreateDeliveryItem(id, deliveryId, jobItemId, notes); Assert.IsTrue(_domainValidationException.ResultContainsMessage(DeliveryItemMessages.InvalidNotes)); }
public JobController( JobService jobService, ListItemService listItemService, JobItemService jobItemService, QuoteItemService quoteItemService, OrderItemService orderItemService, DeliveryItemService deliveryItemService, CertificateService certificateService, UserManagementService userManagementService) { _jobService = jobService; _listItemService = listItemService; _jobItemService = jobItemService; _quoteItemService = quoteItemService; _orderItemService = orderItemService; _deliveryItemService = deliveryItemService; _certificateService = certificateService; _userManagementService = userManagementService; }
public void Edit_NotesGreaterThan255Characters_ThrowsDomainValidationException() { var notes = new string('a', 256); var deliveryItemRepositoryStub = MockRepository.GenerateMock <IDeliveryItemRepository>(); deliveryItemRepositoryStub.Stub(x => x.GetById(_deliveryItemForEditId)).Return(_deliveryItemForEdit); _jobItemService = JobItemServiceFactory.Create(_userContext, MockRepository.GenerateStub <IJobItemRepository>()); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), deliveryItemRepositoryStub, MockRepository.GenerateStub <IJobItemRepository>(), MockRepository.GenerateStub <IQuoteItemRepository>(), MockRepository.GenerateStub <IListItemRepository>(), MockRepository.GenerateStub <ICustomerRepository>()); Edit(_deliveryItemForEditId, notes); Assert.IsTrue(_domainValidationException.ResultContainsMessage(DeliveryItemMessages.InvalidNotes)); }
public JobItemController( UserManagementService userManagementService, JobItemService jobItemService, ListItemService listItemService, InstrumentService instrumentService, ConsignmentService consignmentService, QuoteItemService quoteItemService, OrderItemService orderItemService, DeliveryItemService deliveryItemService, CertificateService certificateService) { _jobItemService = jobItemService; _listItemService = listItemService; _instrumentService = instrumentService; _consignmentService = consignmentService; _quoteItemService = quoteItemService; _orderItemService = orderItemService; _deliveryItemService = deliveryItemService; _certificateService = certificateService; _userManagementService = userManagementService; }
public void Edit_ValidItemDetails_ItemEdited() { var notes = "some notes"; var deliveryItemRepositoryMock = MockRepository.GenerateMock <IDeliveryItemRepository>(); deliveryItemRepositoryMock.Stub(x => x.GetById(_deliveryItemForEditId)).Return(_deliveryItemForEdit); deliveryItemRepositoryMock.Expect(x => x.Update(null)).IgnoreArguments(); _jobItemService = JobItemServiceFactory.Create(_userContext, MockRepository.GenerateStub <IJobItemRepository>()); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, MockRepository.GenerateStub <IDeliveryRepository>(), deliveryItemRepositoryMock, MockRepository.GenerateStub <IJobItemRepository>(), MockRepository.GenerateStub <IQuoteItemRepository>(), MockRepository.GenerateStub <IListItemRepository>(), MockRepository.GenerateStub <ICustomerRepository>()); Edit(_deliveryItemForEditId, notes); deliveryItemRepositoryMock.VerifyAllExpectations(); Assert.AreEqual(_deliveryItemForEditId, _deliveryItemForEdit.Id); Assert.AreEqual(notes, _deliveryItemForEdit.Notes); }
public void Create_DeliveryWith0ItemsAndJobItemWithQuoteItem_DeliveryItemCreated() { var id = Guid.NewGuid(); var deliveryId = Guid.NewGuid(); var jobItemId = _jobItemToUpdateId; var notes = "some notes"; var deliveryRepositoryMock = MockRepository.GenerateMock <IDeliveryItemRepository>(); deliveryRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments(); var jobItemRepositoryMock = MockRepository.GenerateMock <IJobItemRepository>(); jobItemRepositoryMock.Stub(x => x.GetById(_jobItemToUpdateId)).Return(_jobItemToUpdate); jobItemRepositoryMock.Expect(x => x.EmitItemHistory( _userContext.GetCurrentUser(), _jobItemToUpdateId, 0, 0, "Item added to delivery note DR2000", ListItemType.StatusDeliveryNoteProduced, ListItemType.WorkTypeAdministration)); jobItemRepositoryMock.Expect(x => x.Update(_jobItemToUpdate)).IgnoreArguments(); _jobItemService = JobItemServiceFactory.Create(_userContext, jobItemRepositoryMock); _deliveryItemService = DeliveryItemServiceFactory.Create( _userContext, DeliveryRepositoryTestHelper.GetDeliveryRepository_StubsGetByIdForDeliveryWith0Items_ReturnsDelivery(deliveryId), deliveryRepositoryMock, jobItemRepositoryMock, QuoteItemRepositoryTestHelper.GetQuoteItemRepository_StubsGetQuoteItemForJobItem_ReturnsQuoteItem(jobItemId), ListItemRepositoryTestHelper.GetListItemRepository_StubsGetByType_ReturnsListItem(new ListItemType[] { ListItemType.StatusDeliveryNoteProduced }), MockRepository.GenerateStub <ICustomerRepository>()); CreateDeliveryItem(id, deliveryId, jobItemId, notes); deliveryRepositoryMock.VerifyAllExpectations(); jobItemRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedDeliveryItem.Id); Assert.AreEqual(1, _savedDeliveryItem.ItemNo); Assert.IsNotNull(_savedDeliveryItem.Delivery); Assert.IsNotNull(_savedDeliveryItem.JobItem); Assert.IsNotNull(_savedDeliveryItem.QuoteItem); Assert.AreEqual(ListItemType.StatusDeliveryNoteProduced, _jobItemToUpdate.Status.Type); }
public DeliveryController(DeliveryService deliveryService, DeliveryItemService deliveryItemService, JobItemService jobItemService) { _deliveryService = deliveryService; _deliveryItemService = deliveryItemService; _jobItemService = jobItemService; }