Skip to content

Commit

Permalink
slight refactor, add more edge-case tests
Browse files Browse the repository at this point in the history
  • Loading branch information
higs4281 committed Jun 2, 2017
1 parent 906aa2e commit d545a22
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 6 deletions.
8 changes: 4 additions & 4 deletions paying_for_college/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,10 +400,10 @@ def total_fields(field_list):
def cost_error(self):
"""Return 1 or 0: Is total-cost less than tuition?"""
url_data = self.parsed_url
if (url_data
and url_data.get('totl') != ''
and url_data.get('tuit') != ''):
if int(url_data.get('totl', 0)) < int(url_data.get('tuit', 0)):
if url_data:
totl = url_data.get('totl') or 0
tuit = url_data.get('tuit') or 0
if int(totl) < int(tuit):
return 1
else:
return 0
Expand Down
36 changes: 34 additions & 2 deletions paying_for_college/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,12 +289,44 @@ def test_feedback_unmet_cost(self):
feedback.url = feedback.url.replace('offer', 'feedback')
self.assertIs(feedback.unmet_cost, None)

def test_feedback_cost_error(self):
def test_feedback_cost_error_valid_values(self):
feedback = self.create_feedback()
self.assertEqual(feedback.cost_error, 0)

def test_feedback_cost_error_true(self):
feedback = self.create_feedback()
feedback.url = feedback.url.replace('totl=81467', 'totl=1000')
self.assertEqual(feedback.cost_error, 1)
feedback.url = feedback.url.replace('totl=1000', 'totl=')

def test_feedback_cost_error_blank_totl(self):
feedback = self.create_feedback()
feedback.url = feedback.url.replace('totl=81467', 'totl=')
self.assertEqual(feedback.cost_error, 1)

def test_feedback_cost_error_blank_tuition(self):
feedback = self.create_feedback()
feedback.url = feedback.url.replace('tuit=16107', 'tuit=')
self.assertEqual(feedback.cost_error, 0)

def test_feedback_cost_error_missing_tuit_field(self):
feedback = self.create_feedback()
feedback.url = feedback.url.replace('&tuit=16107', '')
self.assertEqual(feedback.cost_error, 0)

def test_feedback_cost_error_missing_totl_field(self):
feedback = self.create_feedback()
feedback.url = feedback.url.replace('&totl=81467', '')
self.assertEqual(feedback.cost_error, 1)

def test_feedback_cost_error_missing_totl_and_tuit_fields(self):
feedback = self.create_feedback()
feedback.url = feedback.url.replace('&tuit=16107', '')
feedback.url = feedback.url.replace('&totl=81467', '')
self.assertEqual(feedback.cost_error, 0)

def test_feedback_cost_error_missing_url(self):
feedback = self.create_feedback()
feedback.url = ''
self.assertEqual(feedback.cost_error, 0)

def test_feedback_tuition_plan(self):
Expand Down

0 comments on commit d545a22

Please sign in to comment.