def setup_test(game_id=7, last_observed_timestamp=datetime.now()): game = factories.create_game(game_id=game_id) data_access = when_data_access__load_game__then_return( game, last_observed_timestamp) game_repository = interactors.GameRepository(data_access) return game, game_repository, data_access
def test_interactor__when_game_notifies_turn_listeners__updates_player_action_timestamp( ): game, _ = setup_test() data_access = DatabaseGateway(settings={"DATABASE": "foo"}) game_repository = interactors.GameRepository(data_access) game_repository.update_action_timestamp = Mock() _ = interactors.OverduePlayerInteractor(game_repository, logger) data_access._notify_listeners(game) game._notify_turn_listeners() game_repository.update_action_timestamp.assert_called_once_with( game, matchers.time_close_to(datetime.now()))
def game_repository(): return interactors.GameRepository(DatabaseGateway.get_instance())