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()))
예제 #3
0
def game_repository():
    return interactors.GameRepository(DatabaseGateway.get_instance())