Backend Regression Tests (#112)

This commit is contained in:
Daniel Ternyak 2018-09-26 14:35:22 -05:00 committed by GitHub
parent 0510cf3c8d
commit 28d0ab76e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 59 additions and 2 deletions

View File

@ -108,7 +108,8 @@ def make_proposal():
display_name = team_member.get("displayName") display_name = team_member.get("displayName")
email_address = team_member.get("emailAddress") email_address = team_member.get("emailAddress")
title = team_member.get("title") title = team_member.get("title")
user = User.query.filter((User.account_address == account_address) | (User.email_address == email_address)).first() user = User.query.filter(
(User.account_address == account_address) | (User.email_address == email_address)).first()
if not user: if not user:
user = User( user = User(
account_address=account_address, account_address=account_address,
@ -130,7 +131,6 @@ def make_proposal():
sm = SocialMedia(social_media_link=social_media.get("link"), user_id=user.id) sm = SocialMedia(social_media_link=social_media.get("link"), user_id=user.id)
db.session.add(sm) db.session.add(sm)
proposal.team.append(user) proposal.team.append(user)
for each_milestone in milestones: for each_milestone in milestones:

View File

@ -3,6 +3,7 @@ import json
import random import random
from grant.proposal.models import CATEGORIES from grant.proposal.models import CATEGORIES
from grant.proposal.models import Proposal
from grant.user.models import User from grant.user.models import User
from ..config import BaseTestConfig from ..config import BaseTestConfig
@ -75,6 +76,62 @@ class TestAPI(BaseTestConfig):
self.assertEqual(user_db.display_name, proposal_by_email["team"][0]["displayName"]) self.assertEqual(user_db.display_name, proposal_by_email["team"][0]["displayName"])
self.assertEqual(user_db.title, proposal_by_email["team"][0]["title"]) self.assertEqual(user_db.title, proposal_by_email["team"][0]["title"])
def test_associate_user_via_proposal_by_email(self):
proposal_by_email = copy.deepcopy(proposal)
del proposal_by_email["team"][0]["accountAddress"]
self.app.post(
"/api/v1/proposals/",
data=json.dumps(proposal_by_email),
content_type='application/json'
)
# User
user_db = User.query.filter_by(email_address=proposal_by_email["team"][0]["emailAddress"]).first()
self.assertEqual(user_db.display_name, proposal_by_email["team"][0]["displayName"])
self.assertEqual(user_db.title, proposal_by_email["team"][0]["title"])
proposal_db = Proposal.query.filter_by(
proposal_id=proposal["crowdFundContractAddress"]
).first()
self.assertEqual(proposal_db.team[0].id, user_db.id)
def test_associate_user_via_proposal_by_email_when_user_already_exists(self):
proposal_by_email = copy.deepcopy(proposal)
del proposal_by_email["team"][0]["accountAddress"]
self.app.post(
"/api/v1/proposals/",
data=json.dumps(proposal_by_email),
content_type='application/json'
)
# User
user_db = User.query.filter_by(email_address=proposal_by_email["team"][0]["emailAddress"]).first()
self.assertEqual(user_db.display_name, proposal_by_email["team"][0]["displayName"])
self.assertEqual(user_db.title, proposal_by_email["team"][0]["title"])
proposal_db = Proposal.query.filter_by(
proposal_id=proposal["crowdFundContractAddress"]
).first()
self.assertEqual(proposal_db.team[0].id, user_db.id)
new_proposal_by_email = copy.deepcopy(proposal)
new_proposal_by_email["crowdFundContractAddress"] = "0x2222"
del new_proposal_by_email["team"][0]["accountAddress"]
self.app.post(
"/api/v1/proposals/",
data=json.dumps(new_proposal_by_email),
content_type='application/json'
)
user_db = User.query.filter_by(email_address=new_proposal_by_email["team"][0]["emailAddress"]).first()
self.assertEqual(user_db.display_name, new_proposal_by_email["team"][0]["displayName"])
self.assertEqual(user_db.title, new_proposal_by_email["team"][0]["title"])
proposal_db = Proposal.query.filter_by(
proposal_id=proposal["crowdFundContractAddress"]
).first()
self.assertEqual(proposal_db.team[0].id, user_db.id)
def test_get_all_users(self): def test_get_all_users(self):
self.app.post( self.app.post(
"/api/v1/proposals/", "/api/v1/proposals/",