コード例 #1
0
ファイル: Game.php プロジェクト: thuliumcc/dartboard
 /**
  * @return bool
  */
 public function delete()
 {
     $this->current_game_user_id = null;
     $this->winner_game_user_id = null;
     $this->update();
     GameUser::where(['game_id' => $this->id])->deleteEach();
     return parent::delete();
 }
コード例 #2
0
ファイル: GameTest.php プロジェクト: thuliumcc/dartboard
 /**
  * @test
  */
 public function shouldRestartLastGame()
 {
     //given
     /** @var User $user1 */
     $user1 = User::create(['login' => 'A']);
     /** @var User $user2 */
     $user2 = User::create(['login' => 'B']);
     $game1 = Game::create();
     $game1->addPlayer($user1->getId());
     $game1->addPlayer($user2->getId());
     $game1->updateAttributes(['finished' => true]);
     //when
     Game::restart();
     //then
     $game = Game::findUnfinishedGame();
     $this->assertFalse($game->isFinished());
     $this->assertTrue($game->isStarted());
     Assert::thatArray(GameUser::where(['game_id' => $game->getId()])->fetchAll())->hasSize(2)->onProperty('user_id')->containsExactly($user1->getId(), $user2->getId());
 }
コード例 #3
0
ファイル: User.php プロジェクト: thuliumcc/dartboard
 /**
  * @return int
  */
 public function countWonGames()
 {
     return GameUser::where(['user_id' => $this->id])->innerJoin('winner_game')->count();
 }