コード例 #1
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 u1.is_following(u2) is False
        assert u1.followed.count() == 0
        assert u2.followers.count() == 0
コード例 #2
0
	def test_follow_posts(self):
		# make four users
		u1 = User(nickname='john', email='*****@*****.**', password='******')
		u2 = User(nickname='susan', email='*****@*****.**', password='******')
		u3 = User(nickname='mary', email='*****@*****.**', password='******')
		u4 = User(nickname='david', 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]
コード例 #3
0
    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)

        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()

        u1.follow(u1)
        u1.follow(u2)
        u1.follow(u4)
        u2.follow(u2)
        u2.follow(u3)
        u3.follow(u3)
        u3.follow(u4)
        u4.follow(u4)
        db.session.add(u1)
        db.session.add(u2)
        db.session.add(u3)
        db.session.add(u4)
        db.session.commit()

        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, ]
コード例 #4
0
	def test_follow(self):
		u1 = User(nickname='john', email='*****@*****.**', password='******')
		u2 = User(nickname='susan', email='*****@*****.**', password='******')
		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