Skip to content

Commit b657670

Browse files
committed
Add test for suvey duplicate. Fix test file import error
1 parent 4ae9a76 commit b657670

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

SORT/test/model_factory/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from .invitation import InvitationFactory
21
from .organisation import OrganisationFactory
32
from .project import ProjectFactory
43
from .survey import SurveyFactory
54
from .user import SuperUserFactory, UserFactory
5+
from .invitation import InvitationFactory
66

77
__all__ = [
88
"InvitationFactory",

survey/tests/test_survey_service.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import SORT.test.model_factory
1212
import SORT.test.test_case
1313
from home.constants import ROLE_ADMIN
14-
from survey.models import Invitation, Survey
14+
from survey.models import Invitation, Survey, SurveyEvidenceSection, SurveyImprovementPlanSection
1515
from survey.services import SurveyService
1616

1717

@@ -115,6 +115,23 @@ def test_update_consent_demography_config(self):
115115
"Unexpected demography sections",
116116
)
117117

118+
def test_duplicate_survey(self):
119+
# Properly initialise the survey
120+
self.service.initialise_survey(self.admin, self.project, self.survey)
121+
self.service.update_consent_demography_config(self.admin, self.survey,
122+
demography_config=self.survey.demography_config,
123+
survey_body_path=self.survey.survey_body_path,
124+
consent_config=self.survey.consent_config)
125+
126+
duplicated_survey = self.service.duplicate_survey(user=self.admin, survey=self.survey)
127+
self.assertTrue(duplicated_survey.name.startswith("Copy of"))
128+
self.assertEqual(duplicated_survey.project, self.survey.project)
129+
self.assertDictEqual(duplicated_survey.survey_config, self.survey.survey_config)
130+
self.assertDictEqual(duplicated_survey.consent_config, self.survey.consent_config)
131+
self.assertDictEqual(duplicated_survey.demography_config, self.survey.demography_config)
132+
self.assertTrue(SurveyEvidenceSection.objects.filter(survey=duplicated_survey).count() > 1)
133+
self.assertTrue(SurveyImprovementPlanSection.objects.filter(survey=duplicated_survey).count() > 1)
134+
118135
def test_get_survey_from_token(self):
119136
token = self.survey.current_invite_token()
120137
self.assertIsInstance(token, str)

0 commit comments

Comments
 (0)