Пример #1
0
 def test_follow_posts(self):
     # make four users
     u1 = Users(username='******', email='*****@*****.**', password = '******')
     u2 = Users(username='******', email='*****@*****.**', password = '******')
     u3 = Users(username='******', email='*****@*****.**', password = '******')
     u4 = Users(username='******', email='*****@*****.**', password = '******')
     db.session.add(u1)
     db.session.add(u2)
     db.session.add(u3)
     db.session.add(u4)
     # make four posts
     utcnow = datetime.utcnow()
     p1 = Post(body="post from john", author=u1,
               timestamp=utcnow + timedelta(seconds=1))
     p2 = Post(body="post from susan", author=u2,
               timestamp=utcnow + timedelta(seconds=2))
     p3 = Post(body="post from mary", author=u3,
               timestamp=utcnow + timedelta(seconds=3))
     p4 = Post(body="post from david", author=u4,
               timestamp=utcnow + timedelta(seconds=4))
     db.session.add(p1)
     db.session.add(p2)
     db.session.add(p3)
     db.session.add(p4)
     db.session.commit()
     # setup the followers
     u1.follow(u1)  # john follows himself
     u1.follow(u2)  # john follows susan
     u1.follow(u4)  # john follows david
     u2.follow(u2)  # susan follows herself
     u2.follow(u3)  # susan follows mary
     u3.follow(u3)  # mary follows herself
     u3.follow(u4)  # mary follows david
     u4.follow(u4)  # david follows himself
     db.session.add(u1)
     db.session.add(u2)
     db.session.add(u3)
     db.session.add(u4)
     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()
     assert len(f1) == 3
     assert len(f2) == 2
     assert len(f3) == 2
     assert len(f4) == 1
     assert f1 == [p4, p2, p1]
     assert f2 == [p3, p2]
     assert f3 == [p4, p3]
     assert f4 == [p4]
Пример #2
0
    def test_follow(self):
        user1 = Users(username='******')
        user2 = Users(username='******')
        db.session.add_all([user1, user2])
        db.session.commit()
        self.assertEqual(user1.followed.all(), [])
        self.assertEqual(user2.followed.all(), [])

        user1.follow(user2)
        db.session.commit()
        self.assertEqual(user1.followed.all(), [user2])
        self.assertTrue(user1.is_following(user2))
        self.assertEqual(user1.followed.first().username, 'Darcia')
        self.assertEqual(user1.followed.count(), 1)
        self.assertEqual(user2.followers.count(), 1)
        self.assertEqual(user2.followers.first().username, 'Tylor')

        user1.unfollow(user2)
        db.session.commit()
        self.assertFalse(user1.is_following(user2))
        self.assertEqual(user1.followed.count(), 0)
        self.assertEqual(user2.followers.count(), 0)
Пример #3
0
    def test_follow(self):
        u1 = Users(username='******', email='*****@*****.**')
        u2 = Users(username='******', email='*****@*****.**')
        db.session.add(u1)
        db.session.add(u2)
        db.session.commit()
        self.assertEqual(u1.followed.all(), [])
        self.assertEqual(u1.followers.all(), [])

        u1.follow(u2)
        db.session.commit()
        self.assertTrue(u1.is_following(u2))
        self.assertEqual(u1.followed.count(), 1)
        self.assertEqual(u1.followed.first().username, 'susan')
        self.assertEqual(u2.followers.count(), 1)
        self.assertEqual(u2.followers.first().username, 'john')

        u1.unfollow(u2)
        db.session.commit()
        self.assertFalse(u1.is_following(u2))
        self.assertEqual(u1.followed.count(), 0)
        self.assertEqual(u2.followers.count(), 0)
Пример #4
0
 def test_follow(self):
     # create a friend
     u1 = Users(username='******', email='*****@*****.**', password= '******')
     u2 = Users(username='******', email='*****@*****.**', password = '******')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     assert u1.unfollow(u2) == None
     u = u1.follow(u2)
     db.session.add(u)
     db.session.commit()
     assert u1.follow(u2) == None
     assert u1.is_following(u2)
     assert u1.followed.count() == 1
     assert u1.followed.first().username == 'susan'
     assert u2.followers.count() == 1
     assert u2.followers.first().username == 'john'
     u = u1.unfollow(u2)
     assert u != None
     db.session.add(u)
     db.session.commit()
     assert u1.is_following(u2) == False
     assert u1.followed.count() == 0
     assert u2.followers.count() == 0
Пример #5
0
    def test_follow_posts(self):
        # create four users
        u1 = Users(username='******', email='*****@*****.**')
        u2 = Users(username='******', email='*****@*****.**')
        u3 = Users(username='******', email='*****@*****.**')
        u4 = Users(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])
Пример #6
0
    def test_shown_followed_posts(self):
        user1 = Users(username='******')
        user2 = Users(username='******')
        user3 = Users(username='******')
        user4 = Users(username='******')
        db.session.add_all([user1, user2, user3, user4])

        now = datetime.utcnow()
        status1 = Status(body='Status from Tylor',
                         author=user1,
                         timestamp=now + timedelta(seconds=1))
        status2 = Status(body='Status from Darcia',
                         author=user2,
                         timestamp=now + timedelta(seconds=2))
        status3 = Status(body='Status from Elijah',
                         author=user3,
                         timestamp=now + timedelta(seconds=3))
        status4 = Status(body='Status from Everett',
                         author=user4,
                         timestamp=now + timedelta(seconds=4))
        db.session.add_all([status1, status2, status3, status4])
        db.session.commit()

        user1.follow(user2)
        user1.follow(user3)
        user2.follow(user1)
        user3.follow(user4)
        db.session.commit()

        result1 = user1.related_posts().all()
        result2 = user2.related_posts().all()
        result3 = user3.related_posts().all()
        result4 = user4.related_posts().all()
        self.asserEqual(result1, [status2, status3, status1])
        self.asserEqual(result2, [status1, status2])
        self.asserEqual(result3, [status4, status3])
        self.asserEqual(result4, [status4])