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 SaveDocumentInsert_Success() { bool exceptionCaught = false; int result = 0; //Arrange byte[] fileData = { 0x32, 0x00, 0x1E, 0x00 }; DeliverableDocument testDeliverableDocument = new DeliverableDocument() { DeliverableId = 1, FileData = fileData, FileName = "NewFileName", FileSize = 1000, FileType = "MongoFileType", CreateDate = DateTime.Now, UserId = 0, UserName = "******", IsActive = true, Id = Guid.Empty }; MRMUser testMRMUser = new MRMUser() { Id = 1, FirstName = "TestFirst", LastName = "TestLast", DepartmentId = 84//MRM Team }; Document testDocument = new Document() { Id = 1, Name = "TestDocumentName", OthersCanDeleteFlag = true, DocumentAccessTypeId = 4, //User Only DepartmentId = 84, //MRM Team DeliverableId = 1, FileName = "TestFileName", Description = "TestDescription", IsActiveFlag = true, FileId = null }; List <Document_MRMUser> testDocMRMUsers = new List <Document_MRMUser>(); Document_MRMUser testDocMRMUser = new Document_MRMUser() { MRMUserId = 0 }; testDocMRMUsers.Add(testDocMRMUser); DocumentAccessType testDocAccessType = new DocumentAccessType() { Code = Constants.DocumentAccessType.Department }; 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) => null); mockDeliverableDocumentRepository.Setup(dd => dd.Add(It.IsAny <DeliverableDocument>())).Returns(true); mockDocumentRepository.Setup(doc => doc.Add(It.IsAny <Document>())).Returns(testDocument); mockUnitOfWork.Setup(uow => uow.Commit()); try { var docService = new DocumentsService(mockUnitOfWork.Object, null, mockDocumentRepository.Object, mockUserRepository.Object, mockDocumentAccessTypeRepository.Object, mockMRMUserRepository.Object, mockDeliverableDocumentRepository.Object, mockContractRequestMasterVendorDocumentRepository.Object); result = docService.Save(testDocument, testDeliverableDocument); } catch (Exception ex) { exceptionCaught = true; } //Assert Assert.IsFalse(exceptionCaught); Assert.IsTrue(testDocument.FileId == Guid.Empty); }
public void SaveDocumentUpdate_Success() { bool exceptionCaught = false; int result = 0; //Arrange MRMUser testMRMUser = new MRMUser() { Id = 1, FirstName = "TestFirst", LastName = "TestLast", DepartmentId = 84//MRM Team }; Document testDocument = new Document() { Id = 1, Name = "TestDocumentName", OthersCanDeleteFlag = true, DocumentAccessTypeId = 4, //User Only DepartmentId = 84, //MRM Team DeliverableId = 1, FileName = "TestFileName", Description = "TestDescription", IsActiveFlag = true }; List <Document_MRMUser> testDocMRMUsers = new List <Document_MRMUser>(); Document_MRMUser testDocMRMUser = new Document_MRMUser() { MRMUserId = 0 }; testDocMRMUsers.Add(testDocMRMUser); DocumentAccessType testDocAccessType = new DocumentAccessType() { Code = Constants.DocumentAccessType.Department }; Document testExistingDocument = new Document() { Id = 1, Name = "TestDocumentName", OthersCanDeleteFlag = true, DocumentAccessTypeId = 4, //User Only DocumentAccessType = testDocAccessType, DepartmentId = 84, //MRM Team DeliverableId = 1, FileName = "TestFileName", Description = "TestDescriptionChange", IsActiveFlag = true, Document_MRMUser = testDocMRMUsers, OwnerMRMUserId = 0 }; 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) => testExistingDocument); mockDocumentRepository.Setup(doc => doc.Update(It.IsAny <Document>())); mockUnitOfWork.Setup(uow => uow.Commit()); try { var docService = new DocumentsService(mockUnitOfWork.Object, null, mockDocumentRepository.Object, mockUserRepository.Object, mockDocumentAccessTypeRepository.Object, mockMRMUserRepository.Object, mockDeliverableDocumentRepository.Object, mockContractRequestMasterVendorDocumentRepository.Object); result = docService.Save(testDocument, null); } catch (Exception ex) { exceptionCaught = true; } //Assert Assert.IsFalse(exceptionCaught); Assert.IsTrue(result > 0); }
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); }