From d27e197b79b7d664561767c3e70ed1010feb182e Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Fri, 31 Mar 2017 11:46:46 +0200 Subject: [PATCH] no-jira: add 2 unit tests to check the delete process of forum or single message with marks --- .../org/olat/modules/fo/ForumManagerTest.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/src/test/java/org/olat/modules/fo/ForumManagerTest.java b/src/test/java/org/olat/modules/fo/ForumManagerTest.java index 6013fd272f4..121ef64eae2 100644 --- a/src/test/java/org/olat/modules/fo/ForumManagerTest.java +++ b/src/test/java/org/olat/modules/fo/ForumManagerTest.java @@ -1251,6 +1251,45 @@ public class ForumManagerTest extends OlatTestCase { dbInstance.commitAndCloseSession(); } + @Test + public void deleteMessageTree_withMarks() { + Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-15"); + Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-16"); + Forum fo = forumManager.addAForum(); + dbInstance.commit(); + + Message topMessage = forumManager.createMessage(fo, id1, false); + topMessage.setTitle("Future deleted message 1"); + topMessage.setBody("Future deleted stuff"); + forumManager.addTopMessage(topMessage); + dbInstance.commit(); + + Message reply = forumManager.createMessage(fo, id2, false); + reply.setTitle("Future deleted 2"); + reply.setBody("Future deleted stuff"); + forumManager.replyToMessage(reply, topMessage); + dbInstance.commit(); + + Message reply2 = forumManager.createMessage(fo, id1, false); + reply2.setTitle("Future deleted 3"); + reply2.setBody("Future deleted stuff"); + forumManager.replyToMessage(reply2, reply); + dbInstance.commit(); + + //mark as read + forumManager.markAsRead(id1, fo, topMessage); + forumManager.markAsRead(id1, fo, reply); + forumManager.markAsRead(id1, fo, reply2); + forumManager.markAsRead(id2, fo, topMessage); + forumManager.markAsRead(id2, fo, reply); + forumManager.markAsRead(id2, fo, reply2); + dbInstance.commitAndCloseSession(); + + //delete a message + forumManager.deleteMessageTree(fo.getKey(), reply2); + dbInstance.commitAndCloseSession(); + } + @Test public void deleteForum() { Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-7"); @@ -1281,6 +1320,54 @@ public class ForumManagerTest extends OlatTestCase { dbInstance.commit(); } + @Test + public void deleteForum_bigForumWithMarks() { + Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-17"); + Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-18"); + Identity id3 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-19"); + Forum fo = forumManager.addAForum(); + dbInstance.commit(); + + List<Message> messages = new ArrayList<>(); + for(int i=0; i<5; i++) { + Message topMessage = forumManager.createMessage(fo, id1, false); + topMessage.setTitle("Future deleted forum part. " + i); + topMessage.setBody("Future deleted stuff"); + forumManager.addTopMessage(topMessage); + messages.add(topMessage); + dbInstance.commit(); + + for(int j=0; j<3; j++) { + Message reply = forumManager.createMessage(fo, id2, false); + reply.setTitle("Future deleted forum part. " + i + "." + j); + reply.setBody("Future deleted stuff"); + forumManager.replyToMessage(reply, topMessage); + messages.add(reply); + dbInstance.commit(); + + for(int k=0; k<3; k++) { + Message reply2 = forumManager.createMessage(fo, id3, false); + reply2.setTitle("Future deleted forum part. " + i + "." + j + "." + k); + reply2.setBody("Future deleted stuff"); + forumManager.replyToMessage(reply2, reply); + messages.add(reply2); + dbInstance.commitAndCloseSession(); + } + } + } + + for(Message message:messages) { + forumManager.markAsRead(id1, fo, message); + forumManager.markAsRead(id2, fo, message); + forumManager.markAsRead(id3, fo, message); + } + dbInstance.commitAndCloseSession(); + + //delete the forum + forumManager.deleteForum(fo.getKey()); + dbInstance.commit(); + } + @Test public void mergeForums() { Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-9"); -- GitLab