Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
06/03/2018 10:36:32 AM (7 years ago)
Author:
djpaul
Message:

Activity: fix activity permalinks for unauthenticated users.

This change also re-adds the block on accessing spammed activity items.

Fixes #7843

Props r-a-y, espellcaste

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/activity/functions.php

    r12112 r12154  
    14941494     * @group bp_activity_user_can_read
    14951495     */
    1496     public function test_user_cannot_access_someone_elses_activity() {
    1497         $u = self::factory()->user->create();
    1498         $u2 = self::factory()->user->create();
    1499 
    1500         $a = self::factory()->activity->create( array(
    1501             'user_id' => $u2,
    1502         ) );
    1503 
    1504         $o = self::factory()->activity->get_object_by_id( $a );
    1505 
    1506         $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
    1507         $this->assertTrue( bp_activity_user_can_read( $o, $u2 ) );
    1508     }
    1509 
    1510     /**
    1511      * @group bp_activity_user_can_read
    1512      */
    15131496    public function test_admin_can_access_someone_elses_activity() {
    15141497        $u = self::factory()->user->create();
     
    15301513     * @group bp_activity_user_can_read
    15311514     */
    1532     public function test_group_admin_access_someone_elses_activity_in_a_grou() {
     1515    public function test_user_cannot_access_spam_activity() {
     1516        $u = self::factory()->user->create();
     1517        $u2 = self::factory()->user->create();
     1518
     1519        $a = self::factory()->activity->create( array(
     1520            'user_id' => $u,
     1521        ) );
     1522
     1523        $o = self::factory()->activity->get_object_by_id( $a );
     1524
     1525        bp_activity_mark_as_spam( $o );
     1526
     1527        $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
     1528        $this->assertFalse( bp_activity_user_can_read( $o, $u2 ) );
     1529    }
     1530
     1531    /**
     1532     * @group bp_activity_user_can_read
     1533     */
     1534    public function test_admin_can_access_spam_activity() {
     1535        $u = self::factory()->user->create();
     1536        $u2 = self::factory()->user->create( array( 'role' => 'administrator' ) );
     1537
     1538        $a = self::factory()->activity->create( array(
     1539            'user_id' => $u,
     1540        ) );
     1541
     1542        $o = self::factory()->activity->get_object_by_id( $a );
     1543
     1544        bp_activity_mark_as_spam( $o );
     1545
     1546        $this->set_current_user( $u2 );
     1547        $this->assertTrue( bp_activity_user_can_read( $o, $u2 ) );
     1548    }
     1549
     1550    /**
     1551     * @group bp_activity_user_can_read
     1552     */
     1553    public function test_group_admin_access_someone_elses_activity_in_a_group() {
    15331554        $u  = self::factory()->user->create();
    15341555        $u2 = self::factory()->user->create();
     
    15801601     * @group bp_activity_user_can_read
    15811602     */
    1582     public function test_user_access_to_his_activity_in_disabled_group() {
     1603    public function test_user_access_to_his_activity_in_hidden_group() {
    15831604        $u  = self::factory()->user->create();
    1584         $g  = self::factory()->group->create();
     1605        $g  = self::factory()->group->create( array(
     1606            'status' => 'hidden',
     1607        ) );
    15851608
    15861609        self::add_user_to_group( $u, $g );
     
    15941617        $o = self::factory()->activity->get_object_by_id( $a );
    15951618
    1596         groups_edit_group_settings( $g, 0, 'hidden' );
    1597 
    15981619        $this->assertTrue( bp_activity_user_can_read( $o, $u ) );
    1599 
    1600         groups_edit_group_settings( $g, 0, 'private' );
     1620    }
     1621
     1622    /**
     1623     * @group bp_activity_user_can_read
     1624     */
     1625    public function test_user_access_to_his_activity_in_private_group() {
     1626        $u  = self::factory()->user->create();
     1627        $g  = self::factory()->group->create( array(
     1628            'status' => 'private',
     1629        ) );
     1630
     1631        self::add_user_to_group( $u, $g );
     1632
     1633        $a = self::factory()->activity->create( array(
     1634            'component' => buddypress()->groups->id,
     1635            'user_id'   => $u,
     1636            'item_id'   => $g,
     1637        ) );
     1638
     1639        $o = self::factory()->activity->get_object_by_id( $a );
    16011640
    16021641        $this->assertTrue( bp_activity_user_can_read( $o, $u ) );
     1642    }
     1643
     1644    /**
     1645     * @group bp_activity_user_can_read
     1646     */
     1647    public function test_banned_user_cannot_access_to_his_activity_in_a_private_group() {
     1648        $u  = self::factory()->user->create();
     1649        $g  = self::factory()->group->create( array(
     1650            'status' => 'private',
     1651        ) );
     1652
     1653        self::add_user_to_group( $u, $g );
     1654
     1655        $a = self::factory()->activity->create( array(
     1656            'component' => buddypress()->groups->id,
     1657            'user_id'   => $u,
     1658            'item_id'   => $g,
     1659        ) );
     1660
     1661        buddypress()->is_item_admin = true;
     1662        groups_ban_member( $u, $g );
     1663
     1664        $o = self::factory()->activity->get_object_by_id( $a );
     1665
     1666        $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
     1667    }
     1668
     1669    /**
     1670     * @group bp_activity_user_can_read
     1671     */
     1672    public function test_removed_member_cannot_access_to_his_activity_in_a_private_group() {
     1673        $u  = self::factory()->user->create();
     1674        $g  = self::factory()->group->create( array(
     1675            'status' => 'private',
     1676        ) );
     1677
     1678        self::add_user_to_group( $u, $g );
     1679
     1680        $a = self::factory()->activity->create( array(
     1681            'component' => buddypress()->groups->id,
     1682            'user_id'   => $u,
     1683            'item_id'   => $g,
     1684        ) );
     1685
     1686        buddypress()->is_item_admin = true;
     1687        groups_remove_member( $u, $g );
     1688
     1689        $o = self::factory()->activity->get_object_by_id( $a );
     1690
     1691        $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
    16031692    }
    16041693
Note: See TracChangeset for help on using the changeset viewer.