/** * Test block_contacts. */ public function test_block_contacts() { $this->resetAfterTest(true); $user1 = self::getDataGenerator()->create_user(); $user2 = self::getDataGenerator()->create_user(); $user3 = self::getDataGenerator()->create_user(); $user4 = self::getDataGenerator()->create_user(); $user5 = self::getDataGenerator()->create_user(); $this->setUser($user1); $this->assertEquals(array(), core_message_external::create_contacts(array($user3->id, $user4->id, $user5->id))); // Blocking a contact. $return = core_message_external::block_contacts(array($user2->id)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertEquals(array(), $return); // Blocking a contact who is already a contact. $return = core_message_external::block_contacts(array($user2->id)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertEquals(array(), $return); // Blocking multiple contacts. $return = core_message_external::block_contacts(array($user3->id, $user4->id)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertEquals(array(), $return); // Blocking a non-existing user. $return = core_message_external::block_contacts(array(99999)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertCount(1, $return); $return = array_pop($return); $this->assertEquals($return['warningcode'], 'contactnotblocked'); $this->assertEquals($return['itemid'], 99999); // Blocking contacts with valid and invalid parameters. $return = core_message_external::block_contacts(array($user5->id, 99999)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertCount(1, $return); $return = array_pop($return); $this->assertEquals($return['warningcode'], 'contactnotblocked'); $this->assertEquals($return['itemid'], 99999); }
/** * Test block_contacts. */ public function test_block_contacts() { $this->resetAfterTest(true); $user1 = self::getDataGenerator()->create_user(); $user2 = self::getDataGenerator()->create_user(); $user3 = self::getDataGenerator()->create_user(); $user4 = self::getDataGenerator()->create_user(); $user5 = self::getDataGenerator()->create_user(); $this->setUser($user1); $this->assertEquals(array(), core_message_external::create_contacts(array($user3->id, $user4->id, $user5->id))); // Blocking a contact. $return = core_message_external::block_contacts(array($user2->id)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertEquals(array(), $return); // Blocking a contact who is already a contact. $return = core_message_external::block_contacts(array($user2->id)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertEquals(array(), $return); // Blocking multiple contacts. $return = core_message_external::block_contacts(array($user3->id, $user4->id)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertEquals(array(), $return); // Blocking a non-existing user. $return = core_message_external::block_contacts(array(99999)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertCount(1, $return); $return = array_pop($return); $this->assertEquals($return['warningcode'], 'contactnotblocked'); $this->assertEquals($return['itemid'], 99999); // Blocking contacts with valid and invalid parameters. $return = core_message_external::block_contacts(array($user5->id, 99999)); $return = external_api::clean_returnvalue(core_message_external::block_contacts_returns(), $return); $this->assertCount(1, $return); $return = array_pop($return); $this->assertEquals($return['warningcode'], 'contactnotblocked'); $this->assertEquals($return['itemid'], 99999); // Try to block a contact of another user contact list, should throw an exception. // All assertions must be added before this point. $this->expectException('required_capability_exception'); core_message_external::block_contacts(array($user2->id), $user3->id); }