From d30dc11f3e1ade19fd8643bdded6f11625da1bb3 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sat, 23 Jun 2012 16:02:16 +0200 Subject: [ticket/10950] Add some first and simple unit tests for phpbb_delete_user_pms() Todo: Add cases to in which the msg is also deleted. PHPBB3-10950 --- tests/privmsgs/delete_user_pms_test.php | 95 +++++++++++++++++++++ tests/privmsgs/fixtures/delete_user_pms.xml | 127 ++++++++++++++++++++++++++++ 2 files changed, 222 insertions(+) create mode 100644 tests/privmsgs/delete_user_pms_test.php create mode 100644 tests/privmsgs/fixtures/delete_user_pms.xml (limited to 'tests') diff --git a/tests/privmsgs/delete_user_pms_test.php b/tests/privmsgs/delete_user_pms_test.php new file mode 100644 index 0000000000..b399d94c6d --- /dev/null +++ b/tests/privmsgs/delete_user_pms_test.php @@ -0,0 +1,95 @@ +createXMLDataSet(dirname(__FILE__).'/fixtures/delete_user_pms.xml'); + } + + public static function delete_user_pms_data() + { + return array( + // array( + // (user we delete), + // array(remaining privmsgs ids), + // array(remaining privmsgs_to), + // ), + array( + 2, + array( + array('msg_id' => 1), + array('msg_id' => 2), + ), + array( + //array('msg_id' => 1, 'user_id' => 2), + array('msg_id' => 1, 'user_id' => 3), + array('msg_id' => 1, 'user_id' => 4), + //array('msg_id' => 2, 'user_id' => 2), + array('msg_id' => 2, 'user_id' => 4), + ), + ), + array( + 3, + array( + array('msg_id' => 1), + array('msg_id' => 2), + ), + array( + array('msg_id' => 1, 'user_id' => 2), + //array('msg_id' => 1, 'user_id' => 3), + array('msg_id' => 1, 'user_id' => 4), + array('msg_id' => 2, 'user_id' => 2), + array('msg_id' => 2, 'user_id' => 4), + ), + ), + array( + 5, + array( + array('msg_id' => 1), + array('msg_id' => 2), + ), + array( + array('msg_id' => 1, 'user_id' => 2), + array('msg_id' => 1, 'user_id' => 3), + array('msg_id' => 1, 'user_id' => 4), + array('msg_id' => 2, 'user_id' => 2), + array('msg_id' => 2, 'user_id' => 4), + ), + ), + ); + } + + /** + * @dataProvider delete_user_pms_data + */ + public function test_delete_user_pms($delete_user, $remaining_privmsgs, $remaining_privmsgs_to) + { + global $db; + + $db = $this->new_dbal(); + + phpbb_delete_user_pms($delete_user); + + $sql = 'SELECT msg_id + FROM ' . PRIVMSGS_TABLE; + $result = $db->sql_query($sql); + + $this->assertEquals($remaining_privmsgs, $db->sql_fetchrowset($result)); + + $sql = 'SELECT msg_id, user_id + FROM ' . PRIVMSGS_TO_TABLE; + $result = $db->sql_query($sql); + + $this->assertEquals($remaining_privmsgs_to, $db->sql_fetchrowset($result)); + } +} diff --git a/tests/privmsgs/fixtures/delete_user_pms.xml b/tests/privmsgs/fixtures/delete_user_pms.xml new file mode 100644 index 0000000000..848164080c --- /dev/null +++ b/tests/privmsgs/fixtures/delete_user_pms.xml @@ -0,0 +1,127 @@ + + + + user_id + username + username_clean + user_new_privmsg + user_unread_privmsg + user_permissions + user_sig + user_occ + user_interests + + 2 + sender + sender + 0 + 0 + + + + + + + 3 + pm in inbox + pm in inbox + 0 + 0 + + + + + + + 4 + pm in no box + pm in no box + 2 + 2 + + + + + + + 5 + no pms + no pms + 0 + 0 + + + + + +
+ + msg_id + root_level + author_id + message_subject + message_text + + 1 + 0 + 2 + #1 + #1 + + + 2 + 0 + 2 + #2 + #2 + +
+ + msg_id + user_id + author_id + pm_new + pm_unread + folder_id + + 1 + 2 + 2 + 0 + 0 + -2 + + + 1 + 3 + 2 + 0 + 0 + 0 + + + 1 + 4 + 2 + 0 + 0 + -3 + + + 2 + 2 + 2 + 0 + 0 + -2 + + + 2 + 4 + 2 + 0 + 0 + -3 + +
+
-- cgit v1.2.1 From 7988045bda2b9fbf0dc9482ed985b5b680ce4e95 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 4 Jul 2012 13:00:04 +0200 Subject: [ticket/10950] Fix unit tests to reflect desired behaviour See http://wiki.phpbb.com/Deleting_Private_Messages for further explanation. PHPBB3-10950 --- tests/privmsgs/delete_user_pms_test.php | 29 ++++++++++- tests/privmsgs/fixtures/delete_user_pms.xml | 80 ++++++++++++++++++++++++++++- 2 files changed, 105 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/privmsgs/delete_user_pms_test.php b/tests/privmsgs/delete_user_pms_test.php index b399d94c6d..e5c0e82712 100644 --- a/tests/privmsgs/delete_user_pms_test.php +++ b/tests/privmsgs/delete_user_pms_test.php @@ -28,14 +28,23 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case 2, array( array('msg_id' => 1), - array('msg_id' => 2), + //array('msg_id' => 2), + //array('msg_id' => 3), + //array('msg_id' => 4), + //array('msg_id' => 5), ), array( //array('msg_id' => 1, 'user_id' => 2), array('msg_id' => 1, 'user_id' => 3), array('msg_id' => 1, 'user_id' => 4), //array('msg_id' => 2, 'user_id' => 2), - array('msg_id' => 2, 'user_id' => 4), + //array('msg_id' => 2, 'user_id' => 4), + //array('msg_id' => 4, 'user_id' => 3), + //array('msg_id' => 3, 'user_id' => 2), + //array('msg_id' => 4, 'user_id' => 3), + //array('msg_id' => 5, 'user_id' => 2), + //array('msg_id' => 5, 'user_id' => 3), + //array('msg_id' => 5, 'user_id' => 4), ), ), array( @@ -43,6 +52,9 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case array( array('msg_id' => 1), array('msg_id' => 2), + array('msg_id' => 3), + //array('msg_id' => 4), + array('msg_id' => 5), ), array( array('msg_id' => 1, 'user_id' => 2), @@ -50,6 +62,11 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case array('msg_id' => 1, 'user_id' => 4), array('msg_id' => 2, 'user_id' => 2), array('msg_id' => 2, 'user_id' => 4), + array('msg_id' => 3, 'user_id' => 2), + //array('msg_id' => 4, 'user_id' => 3), + array('msg_id' => 5, 'user_id' => 2), + //array('msg_id' => 5, 'user_id' => 3), + array('msg_id' => 5, 'user_id' => 4), ), ), array( @@ -57,6 +74,9 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case array( array('msg_id' => 1), array('msg_id' => 2), + array('msg_id' => 3), + array('msg_id' => 4), + array('msg_id' => 5), ), array( array('msg_id' => 1, 'user_id' => 2), @@ -64,6 +84,11 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case array('msg_id' => 1, 'user_id' => 4), array('msg_id' => 2, 'user_id' => 2), array('msg_id' => 2, 'user_id' => 4), + array('msg_id' => 3, 'user_id' => 2), + array('msg_id' => 4, 'user_id' => 3), + array('msg_id' => 5, 'user_id' => 2), + array('msg_id' => 5, 'user_id' => 3), + array('msg_id' => 5, 'user_id' => 4), ), ), ); diff --git a/tests/privmsgs/fixtures/delete_user_pms.xml b/tests/privmsgs/fixtures/delete_user_pms.xml index 848164080c..56970689a3 100644 --- a/tests/privmsgs/fixtures/delete_user_pms.xml +++ b/tests/privmsgs/fixtures/delete_user_pms.xml @@ -66,14 +66,50 @@ 0 2 #1 - #1 + + 2 - outbox + 3 - inbox + 4 - nobox + 2 0 2 #2 - #2 + + 2 - outbox + 4 - nobox + + + + 3 + 0 + 2 + #3 + + 2 - outbox + + + + 4 + 0 + 2 + #4 + + 3 - nobox + + + + 5 + 0 + 2 + #5 + + 2 - outbox + 3 - nobox + 4 - nobox + @@ -123,5 +159,45 @@ 0-3 + + 3 + 2 + 2 + 0 + 0 + -2 + + + 4 + 3 + 2 + 0 + 0 + -3 + + + 5 + 2 + 2 + 0 + 0 + -2 + + + 5 + 3 + 2 + 0 + 0 + -3 + + + 5 + 4 + 2 + 0 + 0 + -3 +
-- cgit v1.2.1 From d883535b102ffba8781f485ba94fae237d8376b0 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 11 Jul 2012 13:05:36 +0200 Subject: [ticket/10950] Remove deleted entries in tests instead of commenting them out PHPBB3-10950 --- tests/privmsgs/delete_user_pms_test.php | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'tests') diff --git a/tests/privmsgs/delete_user_pms_test.php b/tests/privmsgs/delete_user_pms_test.php index e5c0e82712..a586d691e9 100644 --- a/tests/privmsgs/delete_user_pms_test.php +++ b/tests/privmsgs/delete_user_pms_test.php @@ -28,23 +28,10 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case 2, array( array('msg_id' => 1), - //array('msg_id' => 2), - //array('msg_id' => 3), - //array('msg_id' => 4), - //array('msg_id' => 5), ), array( - //array('msg_id' => 1, 'user_id' => 2), array('msg_id' => 1, 'user_id' => 3), array('msg_id' => 1, 'user_id' => 4), - //array('msg_id' => 2, 'user_id' => 2), - //array('msg_id' => 2, 'user_id' => 4), - //array('msg_id' => 4, 'user_id' => 3), - //array('msg_id' => 3, 'user_id' => 2), - //array('msg_id' => 4, 'user_id' => 3), - //array('msg_id' => 5, 'user_id' => 2), - //array('msg_id' => 5, 'user_id' => 3), - //array('msg_id' => 5, 'user_id' => 4), ), ), array( @@ -53,19 +40,15 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case array('msg_id' => 1), array('msg_id' => 2), array('msg_id' => 3), - //array('msg_id' => 4), array('msg_id' => 5), ), array( array('msg_id' => 1, 'user_id' => 2), - //array('msg_id' => 1, 'user_id' => 3), array('msg_id' => 1, 'user_id' => 4), array('msg_id' => 2, 'user_id' => 2), array('msg_id' => 2, 'user_id' => 4), array('msg_id' => 3, 'user_id' => 2), - //array('msg_id' => 4, 'user_id' => 3), array('msg_id' => 5, 'user_id' => 2), - //array('msg_id' => 5, 'user_id' => 3), array('msg_id' => 5, 'user_id' => 4), ), ), -- cgit v1.2.1 From a9c091fad47a3b6936bc7a08617e27163189a20f Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 20 Jul 2012 16:10:40 +0200 Subject: [ticket/10950] Fix unit tests to fit the new pm deleting behaviour Undelivered PMs should not be delivered to recipients that have not yet received them. PHPBB3-10950 --- tests/privmsgs/delete_user_pms_test.php | 1 - 1 file changed, 1 deletion(-) (limited to 'tests') diff --git a/tests/privmsgs/delete_user_pms_test.php b/tests/privmsgs/delete_user_pms_test.php index a586d691e9..265df1596a 100644 --- a/tests/privmsgs/delete_user_pms_test.php +++ b/tests/privmsgs/delete_user_pms_test.php @@ -31,7 +31,6 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case ), array( array('msg_id' => 1, 'user_id' => 3), - array('msg_id' => 1, 'user_id' => 4), ), ), array( -- cgit v1.2.1