Exemplo n.º 1
0
 /**
  * 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);
 }
Exemplo n.º 2
0
 /**
  * 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);
 }