public void DeleteDocumentById_ShouldReturnExceptionUserPemissionDeniedDocAccessTypeIdDeptMismatch() { #region Arrange var docId = 1; bool exceptionCaught = false; MRMUser testMRMUser = new MRMUser() { Id = 1, FirstName = "TestFirst", LastName = "TestLast", DepartmentId = 19//Finance }; DocumentAccessType testDocAccessType = new DocumentAccessType() { Code = Constants.DocumentAccessType.Department, Name = "Department" }; Document testDocument = new Document() { Id = 1, Name = "TestDocumentName", OthersCanDeleteFlag = true, DocumentAccessTypeId = 1, //Department DepartmentId = 84, //MRM Team DeliverableId = 1, FileName = "TestFileName", Description = "TestDescription", IsActiveFlag = true, OwnerMRMUserId = 99, DocumentAccessType = testDocAccessType }; mockUserRepository.Setup(user => user.GetById(It.IsAny <int>())).Returns((MRMUser)null); mockDocumentRepository.Setup(doc => doc.GetSingle(It.IsAny <Expression <Func <Document, bool> > >())).Returns( (Expression <Func <Document, bool> > expr) => testDocument); #endregion #region Act try { var docService = new DocumentsService(mockUnitOfWork.Object, null, mockDocumentRepository.Object, mockUserRepository.Object, mockDocumentAccessTypeRepository.Object, mockMRMUserRepository.Object, mockDeliverableDocumentRepository.Object, mockContractRequestMasterVendorDocumentRepository.Object); docService.DeleteDocumentById(docId); } catch { exceptionCaught = true; } #endregion //Assert Assert.IsTrue(exceptionCaught); }
public void DeleteDocumentById_ShouldReturnExceptionUserPemissionToDeleteDenied() { #region Arrange var nonExistentDocId = -99; bool exceptionCaught = false; MRMUser testMRMUser = new MRMUser() { Id = 1, FirstName = "TestFirst", LastName = "TestLast" }; mockUserRepository.Setup(user => user.GetById(It.IsAny <int>())).Returns((MRMUser)null); mockDocumentRepository.Setup(doc => doc.GetSingle(It.IsAny <Expression <Func <Document, bool> > >())).Returns( (Expression <Func <Document, bool> > expr) => null); #endregion #region Act try { var docService = new DocumentsService(mockUnitOfWork.Object, null, mockDocumentRepository.Object, mockUserRepository.Object, mockDocumentAccessTypeRepository.Object, mockMRMUserRepository.Object, mockDeliverableDocumentRepository.Object, mockContractRequestMasterVendorDocumentRepository.Object); docService.DeleteDocumentById(nonExistentDocId); } catch { exceptionCaught = true; } #endregion //Assert Assert.IsTrue(exceptionCaught); }
public void DeleteDocumentById_ShouldSuccessfullyDelete() { #region Arrange var docId = 1; bool exceptionCaught = false; MRMUser testMRMUser = new MRMUser() { Id = 1, FirstName = "TestFirst", LastName = "TestLast", DepartmentId = 84//MRM Team }; DocumentAccessType testDocAccessType = new DocumentAccessType() { Code = Constants.DocumentAccessType.Department, Name = "Department" }; Document testDocument = new Document() { Id = 1, Name = "TestDocumentName", OthersCanDeleteFlag = true, DocumentAccessTypeId = 1, //Department DepartmentId = 84, //MRM Team DeliverableId = 1, FileName = "TestFileName", FileId = Guid.Empty, Description = "TestDescription", IsActiveFlag = true, OwnerMRMUserId = 99, DocumentAccessType = testDocAccessType }; mockUserRepository.Setup(user => user.GetById(It.IsAny <long>())).Returns(testMRMUser); mockDocumentRepository.Setup(doc => doc.GetSingle(It.IsAny <Expression <Func <Document, bool> > >())).Returns( (Expression <Func <Document, bool> > expr) => testDocument); mockDocumentRepository.Setup(doc => doc.Update(It.IsAny <Document>())); mockDeliverableDocumentRepository.Setup(mongo => mongo.Delete(It.IsAny <Guid>())); mockUnitOfWork.Setup(uow => uow.Commit()); #endregion #region Act try { var docService = new DocumentsService(mockUnitOfWork.Object, null, mockDocumentRepository.Object, mockUserRepository.Object, mockDocumentAccessTypeRepository.Object, mockMRMUserRepository.Object, mockDeliverableDocumentRepository.Object, mockContractRequestMasterVendorDocumentRepository.Object); docService.DeleteDocumentById(docId); } catch (Exception ex) { exceptionCaught = true; } #endregion //Assert Assert.IsFalse(exceptionCaught); }