def test_attempt_unfollow_self(self): #make users u1 = User(username = '******', password = '******', email = '*****@*****.**') u2 = User(username = '******', password = '******', email = '*****@*****.**') u3 = User(username = '******', password = '******', email = '*****@*****.**') db.session.add(u1) db.session.add(u2) db.session.add(u3) #set followers f1 = u1.follow(u1) f2 = u2.follow(u2) f3 = u3.follow(u3) f4 = u2.follow(u3) db.session.add(f1) db.session.add(f2) db.session.add(f3) db.session.add(f4) db.session.commit() assert u2.is_following(u3) == True #Try to unfollow self on u1 and u2, and u2 unfollow u3 for comparison u1.unfollow(u1) db.session.commit() u2.unfollow(u2) db.session.commit() u2.unfollow(u3) db.session.commit() #After the unfollow, u1,u2 still following themselvs but u2 not following u3 assert u1.is_following(u1) == True assert u2.is_following(u2) == True assert u2.is_following(u3) == False
def test_user_followers_method(self): #make users u1 = User(username = '******', password = '******', email = '*****@*****.**') u2 = User(username = '******', password = '******', email = '*****@*****.**') u3 = User(username = '******', password = '******', email = '*****@*****.**') db.session.add(u1) db.session.add(u2) db.session.add(u3) db.session.commit() assert u1.unfollow(u2) == None u = u1.follow(u2) uf = u3.follow(u1) uf2 = u3.follow(u2) uf3 = u3.follow(u3) db.session.add(u) db.session.add(uf2) db.session.add(uf3) db.session.commit() assert u1.follow(u2) == None assert u1.is_following(u2) assert u1.followed.count() == 1 assert u1.followed.first().username == 'shaw' #Test desired method uf1 = u1.user_is_following() uf2 = u2.user_is_following() uf3 = u3.user_is_following() assert uf1.count() == 1 assert uf2.count() == 0 assert uf3.count() == 3
def test_follow_unfollow_methods(self): #make users u1 = User(username = '******', password = '******', email = '*****@*****.**') u2 = User(username = '******', password = '******', email = '*****@*****.**') db.session.add(u1) db.session.add(u2) db.session.commit() assert u1.unfollow(u2) == None u = u1.follow(u1) u2 = u2.follow(u2) u3 = u2.follow(u1) db.session.add(u) db.session.add(u2) db.session.add(u3) db.session.commit() assert u2.follow(u1) == None assert u1.is_following(u1) assert u1.followed.count() == 1 assert u1.followed.first().username == 'jer' assert u2.followers.count() == 1 assert u2.followed.count() == 2 assert u2.followers.first().username == 'shaw' u1.unfollow(u2) db.session.commit() assert u1.is_following(u2) == False assert u1.followed.count() == 1 assert u2.followers.count() == 1
def test_topUser_ieMostFollowers(self): u1 = User(username = '******', password = "******", email = '*****@*****.**') u2 = User(username = '******', password = "******", email = '*****@*****.**') u3 = User(username = '******', password = "******", email = '*****@*****.**') u4 = User(username = '******', password = "******", email = '*****@*****.**') u5 = User(username = '******', password = "******", email = '*****@*****.**') db.session.add(u1) db.session.add(u2) db.session.add(u3) db.session.add(u4) db.session.add(u5) db.session.commit() uf1 = u1.follow(u2) uf2 = u1.follow(u3) uf3 = u1.follow(u3) uf4 = u2.follow(u1) uf5 = u2.follow(u3) uf6 = u5.follow(u5) db.session.add(uf1) db.session.add(uf2) db.session.add(uf3) db.session.add(uf4) db.session.add(uf5) db.session.commit() t = u5.top_user() # This should be 5 ; failing because the way the query is called (self.) #assert t == '3'
def new_user(): if request.headers['Content-Type'] == 'application/json': form = RegistrationForm.from_json(request.json, csrf_enabled=False) else: form = RegistrationForm() if request.method == 'GET': return render_template('users/new.html', form=form) elif request.method == 'POST': if form.validate(): user = User(form.username.data, form.password.data) User.save_to_db(user) user = user.follow(user) User.add_newsfeed(user,"Has joined Lumberjack.") flash("Registration Successful!") if request.headers['Content-Type'] == 'application/json': return user.to_json() else: login_user(user); session['username'] = form.username.data return redirect(url_for('display_user_profile', username=user.username)) else: if request.headers['Content-Type'] == 'application/json': return form.to_json() else: return render_template('users/new.html', form=form)
def test_follow_self(self): #make users u1 = User(username = '******', password = '******', email = '*****@*****.**') u2 = User(username = '******', password = '******', email = '*****@*****.**') u3 = User(username = '******', password = '******', email = '*****@*****.**') db.session.add(u1) db.session.add(u2) db.session.add(u3) #make users follow themselves f1 = u1.follow(u1) f2 = u2.follow(u2) f3 = u3.follow(u3) db.session.add(f1) db.session.add(f2) db.session.add(f3) db.session.commit() #make sure they are following themselves assert u1.is_following(u1) assert u2.is_following(u2) assert u3.is_following(u3)
from lumberjack import app, db from lumberjack.models.user import * from lumberjack.models.user import User from lumberjack.models.workout import Workout from lumberjack.models.exercise import Exercise from lumberjack.models.exercise_tag import ExerciseTag from datetime import datetime, timedelta, date, time from lumberjack.models.user_measurement import UserMeasurement u1 = User("Kyle", "123") db.session.add(u1) db.session.add(u1.follow(u1)) utcnow = datetime.utcnow() p1 = Newsfeed(body = "Has Joined Lumberjack", timestamp = utcnow + timedelta(seconds = 1), user_id = 1, userName = "******") db.session.add(p1) u2 = User("Jeremy", "123") db.session.add(u2) db.session.add(u2.follow(u2)) utcnow = datetime.utcnow() p2 = Newsfeed(body = "Has Joined Lumberjack", timestamp = utcnow + timedelta(seconds = 1), user_id = 2, userName = "******") db.session.add(p2) u3 = User("Andy", "123") db.session.add(u3) db.session.add(u3.follow(u3)) utcnow = datetime.utcnow() p3 = Newsfeed(body = "Has Joined Lumberjack", timestamp = utcnow + timedelta(seconds = 1), user_id = 3, userName = "******") db.session.add(p3)