/// <summary> /// Löscht das angegebene Document. /// </summary> /// <param name="document"></param> public void Delete(Document document) { Require.NotNull(document, nameof(document)); DeleteContent(document); DocumentDao.Delete(document); }
public void IntegrationTest() { var connection = TestSession.GetConnection(); connection.Open(); #region good insertion and select by id test DocumentModel inserted = new DocumentModel(); inserted.DocumentNode = Microsoft.SqlServer.Types.SqlHierarchyId.Null; //TODO define how to generate random hierarchy id in test session; inserted.DocumentLevel = TestSession.Random.RandomShort(); inserted.Title = TestSession.Random.RandomString(50); inserted.Owner = TestSession.Random.Next(); inserted.FolderFlag = Convert.ToBoolean(TestSession.Random.Next(1)); inserted.FileName = TestSession.Random.RandomString(400); inserted.FileExtension = TestSession.Random.RandomString(8); inserted.Revision = TestSession.Random.RandomString(5); inserted.ChangeNumber = TestSession.Random.Next(); inserted.Status = Convert.ToByte(TestSession.Random.RandomString(3)); inserted.DocumentSummary = TestSession.Random.RandomString(-1); inserted.Document = TestSession.Random.RandomBytes(); inserted.rowguid = Guid.NewGuid(); inserted.ModifiedDate = TestSession.Random.RandomDateTime(); _tested.Insert(connection, new[] { inserted }); var selectedAfterInsertion = _tested.GetByPrimaryKey(connection, new DocumentModelPrimaryKey() { DocumentNode = inserted.DocumentNode, }); CollectionAssert.IsNotEmpty(selectedAfterInsertion); var selectedAfterInsert = selectedAfterInsertion.Single(); Assert.AreEqual(inserted.DocumentNode, selectedAfterInsert.DocumentNode); Assert.AreEqual(inserted.DocumentLevel, selectedAfterInsert.DocumentLevel); Assert.AreEqual(inserted.Title, selectedAfterInsert.Title); Assert.AreEqual(inserted.Owner, selectedAfterInsert.Owner); Assert.AreEqual(inserted.FolderFlag, selectedAfterInsert.FolderFlag); Assert.AreEqual(inserted.FileName, selectedAfterInsert.FileName); Assert.AreEqual(inserted.FileExtension, selectedAfterInsert.FileExtension); Assert.AreEqual(inserted.Revision, selectedAfterInsert.Revision); Assert.AreEqual(inserted.ChangeNumber, selectedAfterInsert.ChangeNumber); Assert.AreEqual(inserted.Status, selectedAfterInsert.Status); Assert.AreEqual(inserted.DocumentSummary, selectedAfterInsert.DocumentSummary); Assert.AreEqual(inserted.Document, selectedAfterInsert.Document); Assert.AreEqual(inserted.rowguid, selectedAfterInsert.rowguid); Assert.AreEqual(inserted.ModifiedDate, selectedAfterInsert.ModifiedDate); #endregion #region update and select by id test inserted.DocumentLevel = TestSession.Random.RandomShort(); inserted.Title = TestSession.Random.RandomString(50); inserted.Owner = TestSession.Random.Next(); inserted.FolderFlag = Convert.ToBoolean(TestSession.Random.Next(1)); inserted.FileName = TestSession.Random.RandomString(400); inserted.FileExtension = TestSession.Random.RandomString(8); inserted.Revision = TestSession.Random.RandomString(5); inserted.ChangeNumber = TestSession.Random.Next(); inserted.Status = Convert.ToByte(TestSession.Random.RandomString(3)); inserted.DocumentSummary = TestSession.Random.RandomString(-1); inserted.Document = TestSession.Random.RandomBytes(); inserted.rowguid = Guid.NewGuid(); inserted.ModifiedDate = TestSession.Random.RandomDateTime(); _tested.Update(connection, new[] { inserted }); var selectedAfterUpdateAddresss = _tested.GetByPrimaryKey(connection, new DocumentModelPrimaryKey() { DocumentNode = inserted.DocumentNode, }); CollectionAssert.IsNotEmpty(selectedAfterUpdateAddresss); var selectedAfterUpdate = selectedAfterUpdateAddresss.Single(); Assert.AreEqual(inserted.DocumentNode, selectedAfterUpdate.DocumentNode); Assert.AreEqual(inserted.DocumentLevel, selectedAfterUpdate.DocumentLevel); Assert.AreEqual(inserted.Title, selectedAfterUpdate.Title); Assert.AreEqual(inserted.Owner, selectedAfterUpdate.Owner); Assert.AreEqual(inserted.FolderFlag, selectedAfterUpdate.FolderFlag); Assert.AreEqual(inserted.FileName, selectedAfterUpdate.FileName); Assert.AreEqual(inserted.FileExtension, selectedAfterUpdate.FileExtension); Assert.AreEqual(inserted.Revision, selectedAfterUpdate.Revision); Assert.AreEqual(inserted.ChangeNumber, selectedAfterUpdate.ChangeNumber); Assert.AreEqual(inserted.Status, selectedAfterUpdate.Status); Assert.AreEqual(inserted.DocumentSummary, selectedAfterUpdate.DocumentSummary); Assert.AreEqual(inserted.Document, selectedAfterUpdate.Document); Assert.AreEqual(inserted.rowguid, selectedAfterUpdate.rowguid); Assert.AreEqual(inserted.ModifiedDate, selectedAfterUpdate.ModifiedDate); #endregion #region delete test _tested.Delete(connection, new[] { inserted }); var selectedAfterDeleteAddresss = _tested.GetByPrimaryKey(connection, new DocumentModelPrimaryKey() { DocumentNode = inserted.DocumentNode, }); CollectionAssert.IsEmpty(selectedAfterDeleteAddresss); #endregion connection.Close(); }