예제 #1
0
    def test_follow_posts(self):
        # create four users
        mohamed = User(username='******', email='*****@*****.**')
        wamda = User(username='******', email='*****@*****.**')
        ragda = User(username='******', email='*****@*****.**')
        abdeen = User(username='******', email='*****@*****.**')
        db.session.add_all([mohamed, wamda, ragda, abdeen])

        # create four posts
        now = datetime.utcnow()
        p1 = Post(title="Mohamed post's title",
                  content="post from mohamed",
                  author=mohamed,
                  date_posted=now + timedelta(seconds=1))
        p2 = Post(title="Wamda post's title",
                  content="post from wamda",
                  author=wamda,
                  date_posted=now + timedelta(seconds=4))
        p3 = Post(title="Ragda post's title",
                  content="post from ragda",
                  author=ragda,
                  date_posted=now + timedelta(seconds=3))
        p4 = Post(title="Abdeen post's title",
                  content="post from abdeen",
                  author=abdeen,
                  date_posted=now + timedelta(seconds=2))
        db.session.add_all([p1, p2, p3, p4])
        db.session.commit()

        # setup the followers
        mohamed.follow(wamda)  # mohamed follows wamda
        mohamed.follow(abdeen)  # mohamed follows abdeen
        wamda.follow(ragda)  # wamda follows ragda
        ragda.follow(abdeen)  # ragda follows abdeen
        db.session.commit()

        # check the followed posts of each user
        f1 = mohamed.followed_posts().all()
        f2 = wamda.followed_posts().all()
        f3 = ragda.followed_posts().all()
        f4 = abdeen.followed_posts().all()
        self.assertEqual(f1, [p2, p4])
        self.assertEqual(f2, [p3])
        self.assertEqual(f3, [p4])
        self.assertEqual(f4, [])
예제 #2
0
    def test_follow_posts(self):
        # create four users
        u1 = User(username='******', email='*****@*****.**')
        u2 = User(username='******', email='*****@*****.**')
        u3 = User(username='******', email='*****@*****.**')
        u4 = User(username='******', email='*****@*****.**')
        db.session.add_all([u1, u2, u3, u4])

        # create four posts
        now = datetime.utcnow()
        p1 = Post(body="post from john",
                  author=u1,
                  timestamp=now + timedelta(seconds=1))
        p2 = Post(body="post from susan",
                  author=u2,
                  timestamp=now + timedelta(seconds=4))
        p3 = Post(body="post from mary",
                  author=u3,
                  timestamp=now + timedelta(seconds=3))
        p4 = Post(body="post from david",
                  author=u4,
                  timestamp=now + timedelta(seconds=2))
        db.session.add_all([p1, p2, p3, p4])
        db.session.commit()

        # setup the followers
        u1.follow(u2)  # john follows susan
        u1.follow(u4)  # john follows david
        u2.follow(u3)  # susan follows mary
        u3.follow(u4)  # mary follows david
        db.session.commit()

        # check the followed posts of each user
        f1 = u1.followed_posts().all()
        f2 = u2.followed_posts().all()
        f3 = u3.followed_posts().all()
        f4 = u4.followed_posts().all()
        self.assertEqual(f1, [p2, p4, p1])
        self.assertEqual(f2, [p2, p3])
        self.assertEqual(f3, [p3, p4])
        self.assertEqual(f4, [p4])