Skip to:
Content

BuddyPress.org

Changeset 8100 for trunk/tests


Ignore:
Timestamp:
03/09/2014 07:59:01 PM (13 years ago)
Author:
boonebgorges
Message:

Disable duplicate notification creation by default, and introduce 'allow_duplicate' param for override

Generally, it's undesirable to have duplicate notifications for a given
user-item-secondary_item-component-action combination (as when, say, someone
mentions you many times in a single message thread). This changeset introduces
duplicate protection, which can be overridden by passing the 'allow_duplicate'
param to bp_notifications_add_notification().

Fixes #5297

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/testcases/notifications/functions.php

    r7813 r8100  
    5353                $this->assertFalse( wp_cache_get( 'all_for_user_' . $u, 'bp_notifications' ) );
    5454        }
     55
     56        /**
     57         * @group bp_notifications_add_notification
     58         */
     59        public function test_bp_notifications_add_notification_no_dupes() {
     60                $args = array(
     61                        'user_id' => 5,
     62                        'item_id' => 10,
     63                        'secondary_item_id' => 25,
     64                        'component_name' => 'messages',
     65                        'component_action' => 'new_message',
     66                );
     67
     68                $n = $this->factory->notification->create( $args );
     69
     70                $this->assertFalse( bp_notifications_add_notification( $args ) );
     71        }
     72
     73        /**
     74         * @group bp_notifications_add_notification
     75         */
     76        public function test_bp_notifications_add_notification_allow_duplicate() {
     77                $args = array(
     78                        'user_id' => 5,
     79                        'item_id' => 10,
     80                        'secondary_item_id' => 25,
     81                        'component_name' => 'messages',
     82                        'component_action' => 'new_message',
     83                );
     84
     85                $n = $this->factory->notification->create( $args );
     86
     87                $args['allow_duplicate'] = true;
     88
     89                $this->assertNotEmpty( bp_notifications_add_notification( $args ) );
     90        }
    5591}
Note: See TracChangeset for help on using the changeset viewer.