public void Create_ValidDetailsSuppliedConsignmentHas1Items_SuccessfullyCreated() { var id = Guid.NewGuid(); var consignmentId = Guid.NewGuid(); var instructions = "Consignment instructions"; var consignmentItemRepositoryMock = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments(); var jobItemRepositoryMock = MockRepository.GenerateMock <IJobItemRepository>(); jobItemRepositoryMock.Stub(x => x.GetById(_jobItemToUpdate.Id)).Return(_jobItemToUpdate); jobItemRepositoryMock.Expect(x => x.EmitItemHistory( _userContext.GetCurrentUser(), _jobItemToUpdate.Id, 0, 0, "Item consigned on CR2000", ListItemType.StatusConsigned, ListItemType.WorkTypeAdministration)); jobItemRepositoryMock.Expect(x => x.Update(_jobItemToUpdate)).IgnoreArguments(); _consignmentItemService = ConsignmentItemServiceFactory.Create(consignmentItemRepositoryMock, jobItemRepositoryMock, consignmentId, _userContext, 1); _jobItemService = _jobItemService = JobItemServiceFactory.CreateToReturnJobItem(jobItemRepositoryMock, _userContext); CreateConsignmentItem(id, _jobItemToUpdate.Id, consignmentId, instructions); consignmentItemRepositoryMock.VerifyAllExpectations(); jobItemRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedConsigmentItem.Id); Assert.AreEqual(2, _savedConsigmentItem.ItemNo); Assert.AreEqual(ListItemType.StatusConsigned, _jobItemToUpdate.Status.Type); }
public void Edit_InvalidConsignmentItemId_ArgumentExceptionThrown() { var consignmentItemId = Guid.NewGuid(); var instructions = "edited instructions"; var consignmentItemRepository = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepository.Stub(x => x.GetById(consignmentItemId)).Return(null); _consignmentItemService = ConsignmentItemServiceFactory.Create(consignmentItemRepository, _userContext); Edit(consignmentItemId, instructions); }
public void Edit_InvalidInstructions_DomainValidationExceptionThrown() { var instructions = new String('a', 10001); var consignmentItemRepository = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepository.Stub(x => x.GetById(_consignmentItemForEditId)).Return(_consignmentItemForEdit); _consignmentItemService = ConsignmentItemServiceFactory.Create(consignmentItemRepository, _userContext); Edit(_consignmentItemForEditId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InstructionsTooLarge)); }
public void CreatePending_InvalidSupplierId_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var supplierId = Guid.Empty; var instructions = "Please consign this item"; _consignmentItemService = ConsignmentItemServiceFactory.CreateForPendingItems(jobItemId, supplierId, _userContext); CreatePendingConsignmentItem(id, jobItemId, supplierId, instructions); }
public void Edit_ConsignmentIsOrdered_DomainValidationExceptionThrown() { _consignmentItemForEdit.Consignment.IsOrdered = true; var instructions = "edited instructions"; var consignmentItemRepository = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepository.Stub(x => x.GetById(_consignmentItemForEditId)).Return(_consignmentItemForEdit); _consignmentItemService = ConsignmentItemServiceFactory.Create(consignmentItemRepository, _userContext); Edit(_consignmentItemForEditId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.ConsignmentIsOrdered)); }
public void EditPending_InvalidSupplierId_ArgumentException() { var supplierId = Guid.Empty; var instructions = "some edited instructions"; var consignmentItemRepositoryStub = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepositoryStub.Stub(x => x.GetPendingItem(_pendingItemId)).Return(_pendingItemForEdit); _consignmentItemService = ConsignmentItemServiceFactory.CreateForEditForPendingItems(consignmentItemRepositoryStub, _jobItemforEditPendingId, supplierId, _userContext); EditPendingConsignmentItem(_pendingItemId, _jobItemforEditPendingId, supplierId, instructions); }
public void CreatePending_InstructionsGreaterThan10000Characters_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = new string('a', 10001); _consignmentItemService = ConsignmentItemServiceFactory.CreateForPendingItems(jobItemId, supplierId, _userContext); CreatePendingConsignmentItem(id, jobItemId, supplierId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InstructionsTooLarge)); }
public void CreatePending_JobIsInPendingState_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = "Please consign this item"; _consignmentItemService = ConsignmentItemServiceFactory.CreateForPendingItems(jobItemId, supplierId, _userContext, true); CreatePendingConsignmentItem(id, jobItemId, supplierId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.PendingJob)); }
public void CreatePending_UserHasInsufficientSecurityClearance_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = "Please consign this item"; _consignmentItemService = ConsignmentItemServiceFactory.CreateForPendingItems(jobItemId, supplierId, TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public)); CreatePendingConsignmentItem(id, jobItemId, supplierId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InsufficientSecurityClearance)); }
public void EditPending_InvalidInstructions_DomainValidationException() { var supplierId = Guid.NewGuid(); var instructions = new string('a', 10001); var consignmentItemRepositoryStub = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepositoryStub.Stub(x => x.GetPendingItem(_pendingItemId)).Return(_pendingItemForEdit); _consignmentItemService = ConsignmentItemServiceFactory.CreateForEditForPendingItems(consignmentItemRepositoryStub, _jobItemforEditPendingId, supplierId, _userContext); EditPendingConsignmentItem(_pendingItemId, _jobItemforEditPendingId, supplierId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InstructionsTooLarge)); }
public void EditPending_UserHasInsufficientSecurity_DomainValidationException() { var supplierId = Guid.NewGuid(); var instructions = "some instructions"; var consignmentItemRepositoryStub = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepositoryStub.Stub(x => x.GetPendingItem(_pendingItemId)).Return(_pendingItemForEdit); _consignmentItemService = ConsignmentItemServiceFactory.CreateForEditForPendingItems(consignmentItemRepositoryStub, _jobItemforEditPendingId, supplierId, TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public)); EditPendingConsignmentItem(_pendingItemId, _jobItemforEditPendingId, supplierId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InsufficientSecurityClearance)); }
public void Create_InvalidJobItemIdSupplied_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var consignmentId = Guid.NewGuid(); var instructions = "Consignment instructions"; var jobItemRepositoryMock = MockRepository.GenerateMock <IJobItemRepository>(); jobItemRepositoryMock.Stub(x => x.GetById(Guid.NewGuid())).Return(null); _consignmentItemService = ConsignmentItemServiceFactory.Create(MockRepository.GenerateStub <IConsignmentItemRepository>(), jobItemRepositoryMock, consignmentId, _userContext); _jobItemService = _jobItemService = JobItemServiceFactory.CreateToReturnJobItem(jobItemRepositoryMock, _userContext); CreateConsignmentItem(id, _jobItemToUpdate.Id, consignmentId, instructions); }
public void Edit_ValidEdit_ItemEdited() { var instructions = "edited instructions"; var consignmentItemRepository = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepository.Stub(x => x.GetById(_consignmentItemForEditId)).Return(_consignmentItemForEdit); consignmentItemRepository.Expect(x => x.Update(null)).IgnoreArguments(); _consignmentItemService = ConsignmentItemServiceFactory.Create(consignmentItemRepository, _userContext); Edit(_consignmentItemForEditId, instructions); consignmentItemRepository.VerifyAllExpectations(); Assert.AreEqual(_consignmentItemForEditId, _consignmentItemForEdit.Id); Assert.AreEqual(instructions, _consignmentItemForEdit.Instructions); }
public void CreatePending_JobItemAlreadyHasPendingItem_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = "Please consign this item"; var consignmentItemRepositoryMock = MockRepository.GenerateStub <IConsignmentItemRepository>(); consignmentItemRepositoryMock.Stub(x => x.JobItemHasPendingConsignmentItem(jobItemId)).Return(true); _consignmentItemService = ConsignmentItemServiceFactory.CreateForPendingItems(consignmentItemRepositoryMock, jobItemId, supplierId, _userContext); CreatePendingConsignmentItem(id, jobItemId, supplierId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.PendingItemAlreadyExists)); }
public void Create_InstructionsGreaterThan10000Characters_DomainValidationExceptionThrown() { var id = Guid.NewGuid(); var consignmentId = Guid.NewGuid(); var instructions = new string('a', 10001); var jobItemRepositoryMock = MockRepository.GenerateMock <IJobItemRepository>(); jobItemRepositoryMock.Stub(x => x.GetById(_jobItemToUpdate.Id)).Return(_jobItemToUpdate); _consignmentItemService = ConsignmentItemServiceFactory.Create(MockRepository.GenerateStub <IConsignmentItemRepository>(), jobItemRepositoryMock, consignmentId, _userContext); _jobItemService = _jobItemService = JobItemServiceFactory.CreateToReturnJobItem(jobItemRepositoryMock, _userContext); CreateConsignmentItem(id, _jobItemToUpdate.Id, consignmentId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InstructionsTooLarge)); }
public void EditPending_ValidDetails_ItemEdited() { var supplierId = Guid.NewGuid(); var instructions = "some edited instructions"; var consignmentItemRepositoryMock = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepositoryMock.Stub(x => x.GetPendingItem(_pendingItemId)).Return(_pendingItemForEdit); consignmentItemRepositoryMock.Expect(x => x.UpdatePendingItem(null)).IgnoreArguments(); _consignmentItemService = ConsignmentItemServiceFactory.CreateForEditForPendingItems(consignmentItemRepositoryMock, _jobItemforEditPendingId, supplierId, _userContext); EditPendingConsignmentItem(_pendingItemId, _jobItemforEditPendingId, supplierId, instructions); consignmentItemRepositoryMock.VerifyAllExpectations(); Assert.AreEqual(instructions, _pendingItemForEdit.Instructions); Assert.AreEqual(supplierId, _pendingItemForEdit.Supplier.Id); }
public void CreatePending_ValidPendingItemDetails_PendingItemCreated() { var id = Guid.NewGuid(); var jobItemId = Guid.NewGuid(); var supplierId = Guid.NewGuid(); var instructions = "Please consign this item"; var consignmentItemRepositoryMock = MockRepository.GenerateMock <IConsignmentItemRepository>(); consignmentItemRepositoryMock.Expect(x => x.CreatePendingItem(null)).IgnoreArguments(); _consignmentItemService = ConsignmentItemServiceFactory.CreateForPendingItems(consignmentItemRepositoryMock, jobItemId, supplierId, _userContext); CreatePendingConsignmentItem(id, jobItemId, supplierId, instructions); consignmentItemRepositoryMock.VerifyAllExpectations(); Assert.AreNotEqual(Guid.Empty, _savedPendingItem.Id); }
public void Create_NoIdSupplied_ArgumentExceptionThrown() { var id = Guid.Empty; var consignmentId = Guid.NewGuid(); var instructions = "Consignment instructions"; _jobItemToUpdate.Job.IsPending = true; var jobItemRepositoryStub = MockRepository.GenerateMock <IJobItemRepository>(); jobItemRepositoryStub.Stub(x => x.GetById(_jobItemToUpdate.Id)).Return(_jobItemToUpdate); _consignmentItemService = ConsignmentItemServiceFactory.Create(MockRepository.GenerateStub <IConsignmentItemRepository>(), jobItemRepositoryStub, consignmentId, _userContext); _jobItemService = _jobItemService = JobItemServiceFactory.CreateToReturnJobItem(jobItemRepositoryStub, _userContext); CreateConsignmentItem(id, _jobItemToUpdate.Id, consignmentId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.PendingJob)); }
public void Create_UserHasInsufficientSecurityClearance_ArgumentExceptionThrown() { var id = Guid.NewGuid(); var consignmentId = Guid.NewGuid(); var instructions = "Consignment instructions"; var jobItemRepositoryMock = MockRepository.GenerateMock <IJobItemRepository>(); jobItemRepositoryMock.Stub(x => x.GetById(Guid.NewGuid())).Return(null); _consignmentItemService = ConsignmentItemServiceFactory.Create( MockRepository.GenerateStub <IConsignmentItemRepository>(), jobItemRepositoryMock, consignmentId, TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public)); _jobItemService = _jobItemService = JobItemServiceFactory.CreateToReturnJobItem(jobItemRepositoryMock, TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public)); CreateConsignmentItem(id, _jobItemToUpdate.Id, consignmentId, instructions); Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InsufficientSecurityClearance)); }