예제 #1
0
파일: tests.py 프로젝트: amachefe/Um
    def test_follow_posts(self):
        u1 = User(nickname='john', email='*****@*****.**')
        u2 = User(nickname='susan', email='*****@*****.**')
        u3 = User(nickname='mary', email='*****@*****.**')
        u4 = User(nickname='david', email='*****@*****.**')
        db.session.add(u1)
        db.session.add(u2)
        db.session.add(u3)
        db.session.add(u4)
        #make 4 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 followers
        u1.follow(u1) #john follows himself
        u1.follow(u2) #john follows susan
        u1.follow(u4) #john follows david
        u2.follow(u2) #john follows herself
        u2.follow(u3) #john follows mary
        u3.follow(u3) #john follows herself
        u3.follow(u4) #john follows david
        u4.follow(u4) #john follows himself
        db.session.add(p1)
        db.session.add(p2)
        db.session.add(p3)
        db.session.add(p4)
        db.session.commit()
#check followed post 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
파일: test_user.py 프로젝트: mcrisan/blog
 def test_isfollowing(self):
     u = User(username = '******', password = "******", email = '*****@*****.**', type=0)
     u1 = User(username = '******', password = "******", email = '*****@*****.**', type=0)
     db.session.add(u)
     db.session.add(u1)
     db.session.commit()
     user = u.follow(u1)
     if user:
         db.session.commit() 
     following = u.is_following(u1)  
     assert True == following       
예제 #3
0
파일: test_user.py 프로젝트: mcrisan/blog
 def test_follow_user(self):
     u = User(username = '******', password = "******", email = '*****@*****.**', type=0)
     u1 = User(username = '******', password = "******", email = '*****@*****.**', type=0)
     db.session.add(u)
     db.session.add(u1)
     db.session.commit()
     user = u.follow(u1)
     if user:
         db.session.commit() 
     followers=[]
     followers.append(u1)
     assert followers == u.followed.all()  
예제 #4
0
    def test_follow(self):
        u1 = User(username='******', email='*****@*****.**')
        u2 = User(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)
예제 #5
0
파일: test_user.py 프로젝트: mcrisan/blog
 def test_unfollow_user(self):
     u = User(username = '******', password = "******", email = '*****@*****.**', type=0)
     u1 = User(username = '******', password = "******", email = '*****@*****.**', type=0)
     db.session.add(u)
     db.session.add(u1)
     db.session.commit()
     user = u.follow(u1)
     if user:
         db.session.commit() 
     user = u.unfollow(u1)
     if user:
         db.session.commit() 
     followers = []
     assert followers == u.followed.all()  
예제 #6
0
 def test_follow(self):
     u1 = User(nickname='john', email='*****@*****.**')
     u2 = User(nickname='susan', email='*****@*****.**')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     assert u1.unfollow(u2) is None
     u = u1.follow(u2)
     db.session.add(u)
     db.session.commit()
     assert u1.follow(u2) is None
     assert u1.is_following(u2)
     assert u1.followed.count() == 1
     assert u1.followed.first().nickname == 'susan'
     assert u2.followers.count() == 1
     assert u2.followers.first().nickname == 'john'
     u = u1.unfollow(u2)
     assert u is not None
     db.session.add(u)
     db.session.commit()
     assert not u1.is_following(u2)
     assert u1.followed.count() == 0
     assert u2.followers.count() == 0
예제 #7
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])