- Timestamp:
- 01/02/2015 04:32:04 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/testcases/groups/class-bp-groups-member.php
r9139 r9293 128 128 $this->assertEquals( array( $u2 ), $ids ); 129 129 } 130 131 /** 132 * @group bp_groups_user_can_send_invites 133 */ 134 public function test_bp_groups_user_can_send_invites() { 135 $u_members = $this->factory->user->create(); 136 $u_mods = $this->factory->user->create(); 137 $u_admins = $this->factory->user->create(); 138 $u_siteadmin = $this->factory->user->create(); 139 $user_siteadmin = new WP_User( $u_siteadmin ); 140 $user_siteadmin->add_role( 'administrator' ); 141 142 $g = $this->factory->group->create(); 143 144 $now = time(); 145 $old_current_user = get_current_user_id(); 146 147 // Create member-level user 148 $this->add_user_to_group( $u_members, $g, array( 149 'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ), 150 ) ); 151 // Create mod-level user 152 $this->add_user_to_group( $u_mods, $g, array( 153 'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ), 154 ) ); 155 $m_mod = new BP_Groups_Member( $u_mods, $g ); 156 $m_mod->promote( 'mod' ); 157 // Create admin-level user 158 $this->add_user_to_group( $u_admins, $g, array( 159 'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ), 160 ) ); 161 $m_admin = new BP_Groups_Member( $u_admins, $g ); 162 $m_admin->promote( 'admin' ); 163 164 // Test with no status 165 // In bp_group_get_invite_status(), no status falls back to "members" 166 $this->assertTrue( '' == groups_get_groupmeta( $g, 'invite_status' ) ); 167 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_members ) ); 168 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_mods ) ); 169 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_admins ) ); 170 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_siteadmin ) ); 171 172 // Test with members status 173 groups_update_groupmeta( $g, 'invite_status', 'members' ); 174 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_members ) ); 175 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_mods ) ); 176 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_admins ) ); 177 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_siteadmin ) ); 178 // Falling back to current user 179 $this->set_current_user( $u_members ); 180 $this->assertTrue( bp_groups_user_can_send_invites( $g, null ) ); 181 182 // Test with mod status 183 groups_update_groupmeta( $g, 'invite_status', 'mods' ); 184 $this->assertFalse( bp_groups_user_can_send_invites( $g, $u_members ) ); 185 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_mods ) ); 186 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_admins ) ); 187 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_siteadmin ) ); 188 // Falling back to current user 189 $this->set_current_user( $u_members ); 190 $this->assertFalse( bp_groups_user_can_send_invites( $g, null ) ); 191 $this->set_current_user( $u_mods ); 192 $this->assertTrue( bp_groups_user_can_send_invites( $g, null ) ); 193 194 // Test with admin status 195 groups_update_groupmeta( $g, 'invite_status', 'admins' ); 196 $this->assertFalse( bp_groups_user_can_send_invites( $g, $u_members ) ); 197 $this->assertFalse( bp_groups_user_can_send_invites( $g, $u_mods ) ); 198 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_admins ) ); 199 $this->assertTrue( bp_groups_user_can_send_invites( $g, $u_siteadmin ) ); 200 // Falling back to current user 201 $this->set_current_user( $u_mods ); 202 $this->assertFalse( bp_groups_user_can_send_invites( $g, null ) ); 203 $this->set_current_user( $u_admins ); 204 $this->assertTrue( bp_groups_user_can_send_invites( $g, null ) ); 205 206 // Bad or null parameters 207 $this->assertFalse( bp_groups_user_can_send_invites( 59876454257, $u_members ) ); 208 $this->assertFalse( bp_groups_user_can_send_invites( $g, 958647515 ) ); 209 // Not in group context 210 $this->assertFalse( bp_groups_user_can_send_invites( null, $u_members ) ); 211 // In group context 212 $g_obj = groups_get_group( array( 'group_id' => $g ) ); 213 $this->go_to( bp_get_group_permalink( $g_obj ) ); 214 groups_update_groupmeta( $g, 'invite_status', 'members' ); 215 216 $this->assertTrue( bp_groups_user_can_send_invites( null, $u_members ) ); 217 218 $this->set_current_user( $old_current_user ); 219 } 130 220 } 131 221
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)