def test_can_retrieve_an_article_and_add_a_comment_to_it(session_factory): repo = SqlAlchemyRepository(session_factory) # Fetch Article and User. article = repo.get_article(5) author = repo.get_user('thorke') # Create a new Comment, connecting it to the Article and User. comment = make_comment('First death in Australia', author, article) article_fetched = repo.get_article(5) author_fetched = repo.get_user('thorke') assert comment in article_fetched.comments assert comment in author_fetched.comments
def test_repository_can_add_a_user(session): repo = SqlAlchemyRepository(session) user = User('Dave', '123456789') repo.add_user(user) session.commit() assert repo.get_user('Dave') is user
def test_repository_can_add_a_comment(session_factory): repo = SqlAlchemyRepository(session_factory) user = repo.get_user('thorke') article = repo.get_article(2) comment = make_comment("Trump's onto it!", user, article) repo.add_comment(comment) assert comment in repo.get_comments()
def test_repository_can_add_a_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = User('Dave', '123456789') repo.add_user(user) repo.add_user(User('Martin', '123456789')) user2 = repo.get_user('Dave') assert user2 == user and user2 is user
def test_repository_does_not_retrieve_a_non_existent_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = repo.get_user('prince') assert user is None
def test_repository_can_retrieve_a_user(session_factory): repo = SqlAlchemyRepository(session_factory) user = repo.get_user('fmercury') assert user == User('fmercury', '8734gfe2058v')