Backend Regression Tests (#112)
This commit is contained in:
parent
0510cf3c8d
commit
28d0ab76e6
|
@ -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:
|
||||||
|
|
|
@ -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/",
|
||||||
|
|
Loading…
Reference in New Issue