def test_init(self):
     user1 = User('Martin', 'pw12345')
     user2 = User('Ian', 'pw67890')
     user3 = User('Daniel', 'pw87465')
     assert repr(user1) == "<User martin>"
     assert repr(user2) == "<User ian>"
     assert repr(user3) == "<User daniel>"
 def test_watched_movies(self):
     user1 = User('user1', 'pw12345')
     movie1 = Movie("Star War", 19879, 1)
     movie1.set_runtime_minutes(120)
     user1.watch_movie(movie1)
     assert user1.watched_movies == [movie1]
     assert user1.time_spent_watching_movies_minutes == 120
def test_loading_of_users(empty_session):
    users = list()
    users.append(("andrew", "1234"))
    users.append(("cindy", "1111"))
    insert_users(empty_session, users)

    expected = [User("andrew", "1234"), User("cindy", "999")]
    assert empty_session.query(User).all() == expected
def test_adding_users_to_movie_watching_simulatior(simulator):
    user1 = User('user1_username', 'user1_password')
    user2 = User('user2_username', 'user2_password')

    simulator.add_user(user1)
    simulator.add_user(user2)

    assert simulator.number_of_users_watching == 2
    assert Movie("Star War", 2017, 1) in user1.watched_movies
    assert Movie("Star War", 2017, 1) in user2.watched_movies
def test_repository_can_add_a_user(session_factory):
    repo = SqlAlchemyRepository(session_factory)

    user = User('Dave', '123456789')
    print(user)
    repo.add_user(user)

    repo.add_user(User('Martin', '123456789'))

    user2 = repo.get_user('Dave')
    print(user2)
    assert user2 == user and user2 is user
def test_saving_of_users_with_common_username(empty_session):
    insert_user(empty_session, ('andrew', '1234'))
    empty_session.commit()

    with pytest.raises(IntegrityError):
        user = User("andrew", "111")
        empty_session.add(user)
        empty_session.commit()
def load_users(datapath: str, repo: MemoryRepository):
    users = dict()
    for data_row in read_csv_file(os.path.join(datapath, 'users.csv')):
        user = User(user_name=data_row[1],
                    password=generate_password_hash(data_row[2]))
        repo.add_user(user)
        users[int(data_row[0])] = user
    return users
示例#8
0
 def test_init(self):
     user = User("username", "password")
     movie = Movie("Moana", 2016, 1)
     review_text = "This movie was very enjoyable."
     rating = 8
     review = Review(user, movie, review_text, rating, date.fromisoformat('2020-03-15'))
     assert review.review_author == user
     assert repr(review.movie) == "<Movie Moana, 2016>"
     assert review.review_text == "This movie was very enjoyable."
     assert review.rating == 8
def test_add_movie(watchlist):
    watchlist.add_movie(Movie("Moana", 2016, 1), datetime(2020, 9, 3))
    watchlist.add_movie(Movie("Ice Age", 2002, 2), datetime(2020, 9, 1))
    assert watchlist.size() == 2
    assert len(watchlist.get_schedule()) == 2
    watchlist.add_movie(Movie("Ice Age", 2002, 2), datetime(2020, 9, 1))
    assert watchlist.size() == 2
    assert len(watchlist.get_schedule()) == 2
    watchlist.add_movie(User("username", "password"), datetime(
        2020, 9, 4))  #test if the function handles none Movie type object
    assert watchlist.size() == 2
    assert len(watchlist.get_schedule()) == 2
示例#10
0
def add_user(username: str, password: str, repo: AbstractRepository):
    # Check that the given username is available.
    user = repo.get_user(username)

    if user is not None:
        raise NameNotUniqueException

    # Encrypt password so that the database doesn't store passwords in the plain form

    password_hash = generate_password_hash(password)

    # Creat and store the new User, with password encrypted
    user = User(username, password_hash)
    repo.add_user(user)
    def test_add_review(self):
        user1 = User('user1', 'pw12345')
        movie1 = Movie("Star War", 19879, 1)
        movie1.set_runtime_minutes(120)
        user1.watch_movie(movie1)
        review = Review(user1, movie1, "This is a great movie!", 9,
                        date.fromisoformat('2020-03-15'))
        user1.add_review(review)

        assert user1.reviews == [review]
def test_repository_can_retrieve_a_user(in_memory_repo):
    user = in_memory_repo.get_user('fmercury')
    assert user == User('fmercury', '8734gfe2058v')
def test_repository_can_add_a_user(in_memory_repo):
    user = User('Dave', 123456789)
    in_memory_repo.add_user(user)

    assert in_memory_repo.get_user('Dave') is user
def test_adding_reviews(simulator):
    user1 = User('user1_username', 'user1_password')
    user1_first_review = Review(user1, Movie("Star War", 2017, 1),
                                "This is user1's first review for Star War", 9,
                                date.fromisoformat('2020-09-21'))
    user1_second_review = Review(user1, Movie("Star War", 2017, 1),
                                 "This is user1's second review for Star War",
                                 9, date.fromisoformat('2020-09-21'))
    user1_another_review = Review(user1, Movie("Hunger Game", 2016, 2),
                                  "This is user1's review for Hunger game", 8,
                                  date.fromisoformat('2020-09-21'))
    user1.add_review(user1_first_review)
    user1.add_review(user1_second_review)
    user1.add_review(user1_another_review)

    user2 = User('user2_username', 'user2_password')
    user2_first_review = Review(user2, Movie("Star War", 2017, 1),
                                "This is user2's first review for Star War", 6,
                                date.fromisoformat('2020-09-21'))
    user2.add_review(user2_first_review)

    simulator.add_user(user1)
    simulator.add_user(user2)
    simulator.retrieve_review()
    assert simulator.num_of_reviews == 3
def test_show_live_reviews(simulator):
    user1 = User('user1_username', 'user1_password')
    user1_first_review = Review(user1, Movie("Star War", 2017, 1),
                                "This is user1's first review for Star War", 9,
                                date.fromisoformat('2020-09-21'))
    user1_second_review = Review(user1, Movie("Star War", 2017, 2),
                                 "This is user1's second review for Star War",
                                 9, date.fromisoformat('2020-09-21'))
    user1_another_review = Review(user1, Movie("Hunger Game", 2016, 3),
                                  "This is user1's review for Hunger game", 8,
                                  date.fromisoformat('2020-09-21'))
    user1.add_review(user1_first_review)
    user1.add_review(user1_second_review)
    user1.add_review(user1_another_review)

    user2 = User('user2_username', 'user2_password')
    user2_first_review = Review(user2, Movie("Star War", 2017, 4),
                                "This is user2's first review for Star War", 6,
                                date.fromisoformat('2020-09-21'))
    user2.add_review(user2_first_review)

    simulator.add_user(user1)
    simulator.add_user(user2)
    simulator.retrieve_review()
    assert simulator.show_live_reviews() == "Live Reviews for <Movie Star War, 2017>:\n<User user1_username>  --->  This is user1's first review " \
                                            "for Star War\n" + "<User user1_username>  --->  This is user1's second review for Star War\n" \
    + "<User user2_username>  --->  This is user2's first review for Star War\n"
示例#16
0
def make_user():
    user = User('andrew', '1234')
    return user
def test_reper(simulator):
    user1 = User('user1_username', 'user1_password')
    user1_first_review = Review(user1, Movie("Star War", 2017, 2),
                                "This is user1's first review for Star War", 9,
                                date.fromisoformat('2020-09-21'))
    user1_second_review = Review(user1, Movie("Star War", 2017, 1),
                                 "This is user1's second review for Star War",
                                 9, date.fromisoformat('2020-09-21'))
    user1_another_review = Review(user1, Movie("Hunger Game", 2016, 3),
                                  "This is user1's review for Hunger game", 8,
                                  date.fromisoformat('2020-09-21'))
    user1.add_review(user1_first_review)
    user1.add_review(user1_second_review)
    user1.add_review(user1_another_review)

    user2 = User('user2_username', 'user2_password')
    user2_first_review = Review(user2, Movie("Star War", 2017, 1),
                                "This is user2's first review for Star War", 6,
                                date.fromisoformat('2020-09-21'))
    user2.add_review(user2_first_review)

    simulator.add_user(user1)
    simulator.add_user(user2)
    simulator.retrieve_review()
    assert repr(
        simulator
    ) == "Movie Watching Simulation - Star War : 2017\nNumber of users watching: 2\nNumber of reviews received: 3"
def test_repository_can_retrieve_a_user(session_factory):
    repo = SqlAlchemyRepository(session_factory)
    user = repo.get_user('fmercury')
    assert user == User('fmercury', '8734gfe2058v')