aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2013-07-27 19:31:31 -0500
committerNathan Guse <nathaniel.guse@gmail.com>2013-07-27 19:31:31 -0500
commit359aedf664b41d553665d62243d7943293b79d96 (patch)
tree07b023aaac0db7ab6331482ac4c7110cd61424f0 /tests
parentb213be84a7ff0f947de0025dcc4620142edf226b (diff)
downloadforums-359aedf664b41d553665d62243d7943293b79d96.tar
forums-359aedf664b41d553665d62243d7943293b79d96.tar.gz
forums-359aedf664b41d553665d62243d7943293b79d96.tar.bz2
forums-359aedf664b41d553665d62243d7943293b79d96.tar.xz
forums-359aedf664b41d553665d62243d7943293b79d96.zip
[ticket/11744] Helper function to assert notifications in base test
This also fixes tests PHPBB3-11744
Diffstat (limited to 'tests')
-rw-r--r--tests/notification/base.php22
-rw-r--r--tests/notification/group_request_test.php43
-rw-r--r--tests/notification/notification_test.php248
3 files changed, 145 insertions, 168 deletions
diff --git a/tests/notification/base.php b/tests/notification/base.php
index 5ef6fcebad..8de162a1fb 100644
--- a/tests/notification/base.php
+++ b/tests/notification/base.php
@@ -106,4 +106,26 @@ abstract class phpbb_tests_notification_base extends phpbb_database_test_case
return new $type($this->user_loader, $this->db, $this->cache->get_driver(), $this->user, $this->auth, $this->config, $phpbb_root_path, $phpEx, 'phpbb_notification_types', 'phpbb_notifications', 'phpbb_user_notifications');
}
+
+ protected function assert_notifications($expected, $options = array())
+ {
+ $notifications = $this->notifications->load_notifications(array_merge(array(
+ 'count_unread' => true,
+ 'order_by' => 'notification_time',
+ 'order_dir' => 'ASC',
+ ), $options));
+
+ $this->assertEquals(sizeof($expected), $notifications['unread_count']);
+
+ $i = 0;
+ foreach ($notifications['notifications'] as $notification)
+ {
+ foreach ($expected[$i] as $key => $value)
+ {
+ $this->assertEquals($value, $notification->$key, $i . ' ' . $key);
+ }
+
+ $i++;
+ }
+ }
}
diff --git a/tests/notification/group_request_test.php b/tests/notification/group_request_test.php
index d61c4adf38..3606a6455c 100644
--- a/tests/notification/group_request_test.php
+++ b/tests/notification/group_request_test.php
@@ -53,41 +53,28 @@ class phpbb_notification_group_request_test extends phpbb_tests_notification_bas
$group_id = false;
group_create($group_id, GROUP_OPEN, 'test', 'test group', array());
- // Add user 1 as group leader
+ // Add user 2 as group leader
group_user_add($group_id, 2, false, false, false, true, false);
- // Add user 2 as pending
+ // Add user 3 as pending
group_user_add($group_id, 3, false, false, false, false, true);
- $notifications = $this->notifications->load_notifications(array(
- 'count_unread' => true,
- 'user_id' => 2,
- ));
-
- $expected = array(
+ $this->assert_notifications(
array(
- 'item_id' => 3, // user_id of requesting join
- 'item_parent_id' => $group_id,
- 'user_id' => 2,
- 'notification_read' => 0,
- 'notification_data' => array(
- 'group_name' => 'test',
+ // user 3 pending notification
+ array(
+ 'item_id' => 3, // user_id of requesting join
+ 'item_parent_id' => $group_id,
+ 'user_id' => 2,
+ 'notification_read' => 0,
+ 'notification_data' => array(
+ 'group_name' => 'test',
+ ),
),
),
+ array(
+ 'user_id' => 2,
+ )
);
-
- $this->assertEquals(sizeof($expected), $notifications['unread_count']);
-
- $i = 0;
- foreach ($notifications['notifications'] as $notification)
- {
- foreach ($expected[$i] as $notification_data)
- {
- $this->assertEquals($value, $notification->$key, $key . ' ' . $i);
- }
-
- $i++;
- }
-
}
}
diff --git a/tests/notification/notification_test.php b/tests/notification/notification_test.php
index b8dc9a9042..e1788e8670 100644
--- a/tests/notification/notification_test.php
+++ b/tests/notification/notification_test.php
@@ -160,80 +160,65 @@ class phpbb_notification_test extends phpbb_tests_notification_base
'post_time' => 1349413326,
));
- $notifications = $this->notifications->load_notifications(array(
- 'count_unread' => true,
- ));
-
- $expected = array(
+ $this->assert_notifications(
array(
- 'item_id' => 1,
- 'item_parent_id' => 1,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413321,
- 'notification_data' => array(),
- ),
- array(
- 'item_id' => 2,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413322,
- 'notification_data' => array(),
- ),
- array(
- 'item_id' => 3,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413323,
- 'notification_data' => array(),
- ),
- array(
- 'item_id' => 4,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413324,
- 'notification_data' => array(
- 'poster_id' => 2,
- 'topic_title' => 'test-title',
- 'post_subject' => 'Re: test-title',
- 'post_username' => '',
- 'forum_id' => 2,
- 'forum_name' => 'Your first forum',
+ array(
+ 'item_id' => 1,
+ 'item_parent_id' => 1,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413321,
+ 'notification_data' => array(),
),
- ),
- array(
- 'item_id' => 5,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413325,
- 'notification_data' => array(
- 'poster_id' => 2,
- 'topic_title' => 'test-title',
- 'post_subject' => 'Re: test-title',
- 'post_username' => '',
- 'forum_id' => 2,
- 'forum_name' => 'Your first forum',
+ array(
+ 'item_id' => 2,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413322,
+ 'notification_data' => array(),
),
- ),
+ array(
+ 'item_id' => 3,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413323,
+ 'notification_data' => array(),
+ ),
+ array(
+ 'item_id' => 4,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413324,
+ 'notification_data' => array(
+ 'poster_id' => 2,
+ 'topic_title' => 'test-title',
+ 'post_subject' => 'Re: test-title',
+ 'post_username' => '',
+ 'forum_id' => 2,
+ 'forum_name' => 'Your first forum',
+ ),
+ ),
+ array(
+ 'item_id' => 5,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413325,
+ 'notification_data' => array(
+ 'poster_id' => 2,
+ 'topic_title' => 'test-title',
+ 'post_subject' => 'Re: test-title',
+ 'post_username' => '',
+ 'forum_id' => 2,
+ 'forum_name' => 'Your first forum',
+ ),
+ ),
+ )
);
- $this->assertEquals(sizeof($expected), $notifications['unread_count']);
-
- $i = 0;
- foreach ($notifications['notifications'] as $notification)
- {
- foreach ($expected[$i] as $notification_data)
- {
- $this->assertEquals($value, $notification->$key, $key . ' ' . $i);
- }
-
- $i++;
- }
-
// Now test updating -------------------------------
$this->notifications->update_notifications('test', array(
@@ -258,80 +243,63 @@ class phpbb_notification_test extends phpbb_tests_notification_base
'forum_name' => 'Your second forum', // change forum_name
));
- $notifications = $this->notifications->load_notifications(array(
- 'count_unread' => true,
- ));
-
- $expected = array(
- array(
- 'item_id' => 1,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413321,
- 'notification_data' => array(),
- ),
- array(
- 'item_id' => 2,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413322,
- 'notification_data' => array(),
- ),
+ $this->assert_notifications(
array(
- 'notification_type_id' => 4,
- 'item_id' => 3,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1234,
- 'notification_data' => array(),
- ),
- array(
- 'item_id' => 4,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413324,
- 'notification_data' => array(
- 'poster_id' => 2,
- 'topic_title' => 'test-title',
- 'post_subject' => 'Re: test-title',
- 'post_username' => '',
- 'forum_id' => 2,
- 'forum_name' => 'Your first forum',
+ array(
+ 'item_id' => 3,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1234,
+ 'notification_data' => array(),
),
- ),
- array(
- 'item_id' => 5,
- 'item_parent_id' => 2,
- 'user_id' => 0,
- 'notification_read' => 0,
- 'notification_time' => 1349413325,
- 'notification_data' => array(
- 'poster_id' => 2,
- 'topic_title' => 'test-title2',
- 'post_subject' => 'Re: test-title2',
- 'post_username' => '',
- 'forum_id' => 3,
- 'forum_name' => 'Your second forum',
+ array(
+ 'item_id' => 1,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413321,
+ 'notification_data' => array(),
),
- ),
+ array(
+ 'item_id' => 2,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413322,
+ 'notification_data' => array(),
+ ),
+ array(
+ 'item_id' => 4,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413324,
+ 'notification_data' => array(
+ 'poster_id' => 2,
+ 'topic_title' => 'test-title',
+ 'post_subject' => 'Re: test-title',
+ 'post_username' => '',
+ 'forum_id' => 2,
+ 'forum_name' => 'Your first forum',
+ ),
+ ),
+ array(
+ 'item_id' => 5,
+ 'item_parent_id' => 2,
+ 'user_id' => 0,
+ 'notification_read' => 0,
+ 'notification_time' => 1349413325,
+ 'notification_data' => array(
+ 'poster_id' => 2,
+ 'topic_title' => 'test-title2',
+ 'post_subject' => 'Re: test-title2',
+ 'post_username' => '',
+ 'forum_id' => 3,
+ 'forum_name' => 'Your second forum',
+ ),
+ ),
+ )
);
-
- $this->assertEquals(sizeof($expected), $notifications['unread_count']);
-
- $i = 0;
- foreach ($notifications['notifications'] as $notification)
- {
- foreach ($expected[$i] as $notification_data)
- {
- $this->assertEquals($value, $notification->$key, $key . ' ' . $i);
- }
-
- $i++;
- }
-
}
}