/** * @depends testCreate */ public function testInviteVolunteer() { // invite an existing user by an email address $this->assertInstanceOf('app\\volunteers\\models\\Volunteer', self::$org->inviteVolunteer('*****@*****.**')); $this->assertEquals(Volunteer::ROLE_VOLUNTEER, self::$org->getRoleOfUser(self::$user)); // invite an existing user by an email address again $this->assertInstanceOf('app\\volunteers\\models\\Volunteer', self::$org->inviteVolunteer('*****@*****.**')); $this->assertEquals(Volunteer::ROLE_VOLUNTEER, self::$org->getRoleOfUser(self::$user)); // invite an existing user by username $this->assertInstanceOf('app\\volunteers\\models\\Volunteer', self::$org->inviteVolunteer('testvolunteer2')); $this->assertEquals(Volunteer::ROLE_VOLUNTEER, self::$org->getRoleOfUser(self::$user2)); // invite a non-existent user by email address $this->assertInstanceOf('app\\volunteers\\models\\Volunteer', self::$org->inviteVolunteer('*****@*****.**')); // check that user exists and is temporary self::$tempUser = User::findOne(['where' => ['user_email' => '*****@*****.**']]); $this->assertTrue(self::$tempUser->exists()); $this->assertTrue(self::$tempUser->isTemporary()); $this->assertEquals(self::$org->id(), self::$tempUser->invited_by); $this->assertEquals(Volunteer::ROLE_VOLUNTEER, self::$org->getRoleOfUser(self::$tempUser)); // invite a non-existent user by username $this->assertFalse(self::$org->inviteVolunteer('badusername')); }