public function let(GameInterface $repository, GameFactory $factory) { $game_to_save = new GameEntity(); $factory->gameEntity(array())->willReturn($game_to_save); $non_existing_game = new GameEntity(); $non_existing_game->setId('non_existing'); $factory->gameEntity(array('home_team' => 'fails'))->willReturn($non_existing_game); $repository->getById(null)->willReturn(true); $repository->getById('non_existing')->willReturn(false); $repository->save(Argument::any())->willReturnArgument(0); $this->beConstructedWith($repository, $factory); }
public function save(GameEntity $game) { $game_info = $game->getData(); if (false !== $game->hasId() && null !== ($id = $game->getId())) { $game_info['_id'] = new MongoId($id); } else { $game_info['_id'] = new MongoId(); $game->setId($game_info['_id']); } if (!$game_info['date'] instanceof MongoDate) { $game_info['date'] = new MongoDate($game_info['date']); } $this->collection->save($game_info); return $game; }
public function it_should_be_possible_to_remove_given_game() { $game = new GameEntity(); $game->setId('54312fd4c863c796148b458b'); $this->remove($game)->shouldBe(true); }