diff --git a/src/Mpociot/Teamwork/Teamwork.php b/src/Mpociot/Teamwork/Teamwork.php index b55dcd2..a44d727 100644 --- a/src/Mpociot/Teamwork/Teamwork.php +++ b/src/Mpociot/Teamwork/Teamwork.php @@ -1,5 +1,7 @@ app->make('Mpociot\Teamwork\TeamInvite'); + $invite = $this->app->make(Config::get('teamwork.invite_model')); $invite->user_id = $this->user()->getKey(); $invite->team_id = $team; $invite->type = 'invite'; @@ -99,7 +101,7 @@ public function hasPendingInvite( $email, $team ) { $team = $team["id"]; } - return $this->app->make('Mpociot\Teamwork\TeamInvite')->where('email', "=", $email)->where('team_id', "=", $team )->first() ? true : false; + return $this->app->make(Config::get('teamwork.invite_model'))->where('email', "=", $email)->where('team_id', "=", $team )->first() ? true : false; } /** @@ -108,7 +110,7 @@ public function hasPendingInvite( $email, $team ) */ public function getInviteFromAcceptToken( $token ) { - return $this->app->make('Mpociot\Teamwork\TeamInvite')->where('accept_token', '=', $token)->first(); + return $this->app->make(Config::get('teamwork.invite_model'))->where('accept_token', '=', $token)->first(); } /** @@ -126,7 +128,7 @@ public function acceptInvite( TeamInvite $invite ) */ public function getInviteFromDenyToken( $token ) { - return $this->app->make('Mpociot\Teamwork\TeamInvite')->where('deny_token', '=', $token)->first(); + return $this->app->make(Config::get('teamwork.invite_model'))->where('deny_token', '=', $token)->first(); } /** diff --git a/tests/TeamworkTest.php b/tests/TeamworkTest.php index b1245b3..3f55188 100644 --- a/tests/TeamworkTest.php +++ b/tests/TeamworkTest.php @@ -1,5 +1,6 @@ shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -80,8 +88,14 @@ public function testGetInviteFromDenyToken() $app = m::mock('App'); $teamwork = new Teamwork($app); $token = "asd"; - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -136,8 +150,15 @@ public function testHasPendingInviteFalse() $app = m::mock('App'); $teamwork = new Teamwork($app); $token = "asd"; - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -165,8 +186,14 @@ public function testHasPendingInviteTrue() $app = m::mock('App'); $teamwork = new Teamwork($app); $token = "asd"; - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -195,8 +222,14 @@ public function testHasPendingInviteFromObject() $team = m::mock('stdClass'); $team->shouldReceive('getKey')->once()->andReturn( $team_id ); $token = "asd"; - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -224,8 +257,14 @@ public function testHasPendingInviteFromArray() $teamwork = new Teamwork($app); $team = ["id" => $team_id]; $token = "asd"; - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -258,8 +297,14 @@ public function testCanInviteToTeam() $app->auth->shouldReceive('user') ->andReturn($user) ->once(); - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -300,8 +345,14 @@ public function testCanInviteToTeamWithObject() $app->auth->shouldReceive('user') ->andReturn($user) ->once(); - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -341,8 +392,14 @@ public function testCanInviteToTeamWithArray() $app->auth->shouldReceive('user') ->andReturn($user) ->once(); - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -381,8 +438,13 @@ public function testCanInviteToTeamWithNull() $app->auth->shouldReceive('user') ->andReturn($user); - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->once()->andReturn( $teaminvite ); + $inviteClass = 'Mpociot\Teamwork\TeamInvite'; + Config::shouldReceive('get') + ->once() + ->with('teamwork.invite_model') + ->andReturn($inviteClass); + $teaminvite = m::mock($inviteClass); + $app->shouldReceive('make')->with($inviteClass)->once()->andReturn( $teaminvite ); /* |------------------------------------------------------------ @@ -420,8 +482,6 @@ public function testCanNotInviteToUserWithoutEmail() $app->auth->shouldReceive('user') ->andReturn($user); - $teaminvite = m::mock('Mpociot\Teamwork\TeamInvite'); - $app->shouldReceive('make')->with('Mpociot\Teamwork\TeamInvite')->never(); $this->setExpectedException('Exception','The provided object has no "email" attribute and is not a string.');