def setUp(self): self.procedure = factories.ProcedureFactory(author='tester', title='test procedure') self.generator = generators.ProcedureGenerator(self.procedure) self.procedure_etree_element = self.generator.generate() self.attribs = self.procedure_etree_element.attrib
def test_attempt_push_to_mds_success_response( self, mock_post, mock_protocol_generator, ): mock_post.return_value = MockResponse( status.HTTP_200_OK, {}, ) mock_protocol_generator.return_value = self.TEST_PROCEDURE_XML mds_instance = factories.MDSInstanceFactory(user_id=self.user.id) procedure = factories.ProcedureFactory( version=self.TEST_PROCEDURE_VERSION) data = {'procedure_id': procedure.id} response = self.client.post( path=self.PUSH_TO_MDS_URL, data=json.dumps(data), content_type='application/json', HTTP_AUTHORIZATION=add_token_to_header(self.user, self.token), ) mock_protocol_generator.assert_called_with(self.user, procedure.id) mock_post.assert_called_with( mds_instance.api_url + 'push_protocol/', data={ 'procedure_xml': self.TEST_PROCEDURE_XML, 'procedure_version': self.TEST_PROCEDURE_VERSION, }, ) assert_equals(response.status_code, status.HTTP_200_OK) assert_equals(response.data, { 'mds_status_code': status.HTTP_200_OK, })
def test_escapes(self): procedure = factories.ProcedureFactory( title='"\'' ) protocol = generators.ProtocolBuilder.generate(factories.UserFactory(), procedure.id) assert_in('title=""\'"', protocol)
def test_create_page(self): test_procedure = factories.ProcedureFactory() page = factories.PageFactory(display_index=0, procedure=test_procedure) assert_equals(page.display_index, 0) assert_equals(page.procedure, test_procedure) assert_not_equals(page.last_modified, None) assert_not_equals(page.created, None)
def test_attempt_push_to_mds_with_no_mds_instance(self): procedure = factories.ProcedureFactory() data = {'procedure_id': procedure.id} response = self.client.post( path=self.PUSH_TO_MDS_URL, data=json.dumps(data), content_type='application/json', HTTP_AUTHORIZATION=add_token_to_header(self.user, self.token), ) assert_equals(response.status_code, status.HTTP_400_BAD_REQUEST)
def test_orders_properly(self): procedure = factories.ProcedureFactory() page1 = factories.PageFactory(display_index=1, procedure=procedure) page2 = factories.PageFactory(display_index=0, procedure=procedure) pages = Page.objects.all() assert_equals(len(pages), 2) assert_equals(pages[0], page2) assert_equals(pages[1], page1)
def setUp(self): self.client = Client() self.user = factories.UserFactory() procedure = factories.ProcedureFactory() self.page1 = factories.PageFactory(display_index=0, procedure=procedure) self.page2 = factories.PageFactory(display_index=1, procedure=procedure) self.page3 = factories.PageFactory(display_index=2, procedure=procedure) self.token = Token.objects.get(user=self.user) self.PARTIAL_BULK_URL = '/api/pages/partial_bulk_update' grant_permissions()
def setUp(self): self.procedure = factories.ProcedureFactory( author='TestUser', title='Burns"\'' ) for i in range(4): page = factories.PageFactory( procedure=self.procedure ) factories.ElementFactory( page=page ) elements = Element.objects.all() factories.ShowIfFactory( page=page, conditions=json.dumps({ 'node_type': 'NOT', 'children': [ { 'node_type': 'AND', 'children': [ { 'criteria_element': elements[0].pk, 'node_type': 'EQUALS', 'value': 'foo' }, { 'criteria_element': elements[1].pk, 'node_type': 'LESS', 'value': 'bar' }, { 'node_type': 'AND', 'children': [ { 'criteria_element': elements[2].pk, 'node_type': 'GREATER', 'value': 'bar' } ] } ] } ] })) self.procedure.save()
def test_procedure_comes_with_pages(self): procedure = factories.ProcedureFactory(owner=self.user) factories.PageFactory(procedure=procedure) flags = {'only_return_id': 'false'} response = self.client.get(path=self.procedure_url, data=flags, content_type='application/json', HTTP_AUTHORIZATION=add_token_to_header( self.user, self.token)) assert_equals(response.status_code, status.HTTP_200_OK) body = json.loads(response.content) pages = body[0]['pages'] assert_equals(len(pages), 1) assert_true('display_index' in pages[0])
def test_error_if_blank_author(self): procedure = factories.ProcedureFactory(author='') generators.ProcedureGenerator(procedure).generate()
def test_error_if_no_author(self): procedure = factories.ProcedureFactory() procedure.author = None generators.ProcedureGenerator(procedure).generate()
def test_error_if_blank_title(self): procedure = factories.ProcedureFactory(title='') generators.ProcedureGenerator(procedure).generate()
def test_error_if_no_title(self): procedure = factories.ProcedureFactory() procedure.title = None generators.ProcedureGenerator(procedure).generate()
def test_display_index_negative(self): Page.objects.create(display_index=-1, procedure=factories.ProcedureFactory())
def test_display_index_none(self): Page.objects.create(display_index=None, procedure=factories.ProcedureFactory())