Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions features/smoking_history.feature
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ Feature: Smoking history pages

Then I am on "/rolling-tobacco-smoking-change"
When I check "Yes, I used to smoke more than 25 grams of rolling tobacco a week"
And I check "Yes, I used to smoke fewer than 25 grams of rolling tobacco a week"
And I check "Yes, I used to smoke less than 25 grams of rolling tobacco a week"
And I submit the form

Then I am on "/rolling-tobacco-smoking-increased-frequency"
Expand All @@ -205,7 +205,7 @@ Feature: Smoking history pages
And I submit the form

Then I am on "/rolling-tobacco-smoked-decreased-amount"
When I fill in "When you smoked fewer than 25 grams of rolling tobacco a week, roughly how many grams of rolling tobacco did you normally smoke a month?" with "5"
When I fill in "When you smoked less than 25 grams of rolling tobacco a week, roughly how many grams of rolling tobacco did you normally smoke a month?" with "5"
And I submit the form

Then I am on "/rolling-tobacco-smoked-decreased-years"
Expand Down
4 changes: 2 additions & 2 deletions lung_cancer_screening/questions/forms/smoked_amount_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def normal_label(self):

def changed_label(self):
return (
f"When you smoked {self.presenter.more_or_fewer()} than "
f"When you smoked {self.presenter.more_or_fewer_or_less()} than "
f"{self.normal_presenter.to_sentence()}, "
f"roughly how many {self.presenter.unit()} "
f"did you normally smoke a {self.presenter.frequency()}?"
Expand All @@ -69,7 +69,7 @@ def normal_required_error_message(self):
def changed_required_error_message(self):
return (
f"Enter the number of {self.presenter.unit()} "
f"you smoked when you smoked {self.presenter.more_or_fewer()} than "
f"you smoked when you smoked {self.presenter.more_or_fewer_or_less()} than "
f"{self.normal_presenter.to_sentence()}"
)

Expand Down
13 changes: 8 additions & 5 deletions lung_cancer_screening/questions/forms/smoking_change_form.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from django import forms

from ...nhsuk_forms.choice_field import MultipleChoiceField
from ..models.tobacco_smoking_history import TobaccoSmokingHistory
from ..models.tobacco_smoking_history import TobaccoSmokingHistory, TobaccoSmokingHistoryTypes
from .mixins.smoking_form_presenter import SmokingFormPresenter


Expand Down Expand Up @@ -64,10 +64,13 @@ def generate_label(self, value, label):
if value == TobaccoSmokingHistory.Levels.NO_CHANGE:
return label

return (
f"{TobaccoSmokingHistory.Levels(value).label} "
f" than {self.presenter.to_sentence()}"
)
if (value == TobaccoSmokingHistory.Levels.DECREASED.value and
self.tobacco_type == TobaccoSmokingHistoryTypes.ROLLING_TOBACCO):
prefix = "Yes, I used to smoke less"
else:
prefix = TobaccoSmokingHistory.Levels(value).label

return f"{prefix} than {self.presenter.to_sentence()}"

def required_error_message(self):
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def normal_label(self):

def changed_label(self):
return (
f"When you smoked {self.presenter.more_or_fewer()} "
f"When you smoked {self.presenter.more_or_fewer_or_less()} "
f"than {self.normal_presenter.to_sentence()}, how often did "
f"you smoke {self.presenter.human_type().lower()}?"
)
Expand All @@ -77,7 +77,7 @@ def normal_required_error_message(self):
def changed_required_error_message(self):
return (
f"Select how often you smoked {self.presenter.human_type().lower()} "
f"when you smoked {self.presenter.more_or_fewer()} "
f"when you smoked {self.presenter.more_or_fewer_or_less()} "
f"than {self.normal_presenter.to_sentence()}"
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,15 @@ def have_you_smoked_or_did_you_smoke(self):
return "did you smoke"


def more_or_fewer(self):
def more_or_fewer_or_less(self):
if self.tobacco_smoking_history.is_increased():
return "more"
elif self.tobacco_smoking_history.is_decreased():
if(self.tobacco_smoking_history.is_rolling_tobacco()):
Comment thread
stephhou marked this conversation as resolved.
Outdated
return "less"
return "fewer"
Comment thread
stephhou marked this conversation as resolved.


def increased_or_decreased(self):
if self.tobacco_smoking_history.is_increased():
return "increased"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,26 +129,26 @@ def test_frequency_returns_the_human_frequency_of_the_tobacco_smoking_history(se
)


def test_more_or_fewer_text_returns_more_if_increased_level(self):
def test_more_or_fewer_or_less_text_returns_more_if_increased_level(self):
self.tobacco_smoking_history.level = TobaccoSmokingHistory.Levels.INCREASED
self.tobacco_smoking_history.save()

presenter = TobaccoSmokingHistoryPresenter(self.tobacco_smoking_history)

self.assertEqual(
presenter.more_or_fewer(),
presenter.more_or_fewer_or_less(),
"more"
)

def test_more_or_fewer_text_returns_fewer_if_decreased_level(self):
def test_more_or_fewer_or_less_text_returns_fewer_if_decreased_level(self):
self.tobacco_smoking_history.level = TobaccoSmokingHistory.Levels.DECREASED
self.tobacco_smoking_history.save()

presenter = TobaccoSmokingHistoryPresenter(self.tobacco_smoking_history)

self.assertEqual(
presenter.more_or_fewer(),
"fewer"
presenter.more_or_fewer_or_less(),
"less"
Comment thread
stephhou marked this conversation as resolved.
Outdated
)

def test_do_or_did_returns_do_if_current_normal_level(self):
Expand Down
Loading