def test_repository_can_retrieve_a_director(session_factory):
    repo = SqlAlchemyRepository(session_factory)
    director = repo.get_director('Sean Foley')
    assert director == Director('Sean Foley')
    assert Movie('Mindhorn', 2016) in director.directed_movies
def test_repository_returns_none_for_non_existent_director(session_factory):
    repo = SqlAlchemyRepository(session_factory)
    assert repo.get_director("Fake Director") is None
def test_repository_can_add_a_director(session_factory):
    repo = SqlAlchemyRepository(session_factory)
    director = Director("Chad Stahelski")
    repo.add_director(director)
    assert repo.get_director("Chad Stahelski") == director and repo.get_director("Chad Stahelski") is director