def setUp(self): self.conditions = { 'node_type': 'NOT', 'children': [{ 'node_type': 'AND', 'children': [{ 'criteria_element': factories.ElementFactory().pk, 'node_type': 'EQUALS', 'value': 'foo' }, { 'criteria_element': factories.ElementFactory().pk, 'node_type': 'LESS', 'value': 'bar' }, { 'node_type': 'AND', 'children': [{ 'criteria_element': factories.ElementFactory().pk, 'node_type': 'GREATER', 'value': 'bar' }] }] }] } self.generator = generators.ConditionNodeGenerator( self.conditions, factories.ShowIfFactory()) self.node_etree_element = self.generator.generate( ElementTree.Element('test'))
def setUp(self): self.show_if = factories.ShowIfFactory(conditions=json.dumps({ 'node_type': 'NOT', 'children': [{ 'node_type': 'AND', 'children': [{ 'criteria_element': factories.ElementFactory().pk, 'node_type': 'EQUALS', 'value': 'foo' }, { 'criteria_element': factories.ElementFactory().pk, 'node_type': 'LESS', 'value': 'bar' }, { 'node_type': 'AND', 'children': [ { 'criteria_element': factories.ElementFactory().pk, 'node_type': 'GREATER', 'value': 'bar' } ] }] }] })) self.generator = generators.ShowIfGenerator(self.show_if) self.show_if_etree_element = self.generator.generate_show_if( ElementTree.Element('test'))
def test_orders_properly(self): page = factories.PageFactory() element1 = factories.ElementFactory(display_index=1, page=page) element2 = factories.ElementFactory(display_index=0, page=page) elements = Element.objects.all() assert_equals(len(elements), 2) assert_equals(elements[0], element2) assert_equals(elements[1], element1)
def test_create_showif(self): page = factories.PageFactory() element = factories.ElementFactory() conditions = json.dumps({ 'node_type': 'NOT', 'children': [{ 'node_type': 'AND', 'children': [{ 'criteria_element': element.pk, 'node_type': 'EQUALS', 'value': 'foo' }, { 'criteria_element': element.pk, 'node_type': 'LESS', 'value': 'bar' }] }] }) ShowIf.objects.create(page=page, conditions=conditions) show_if = ShowIf.objects.get(page=page) assert_equals(show_if.page, page) assert_equals(show_if.conditions, conditions) assert_not_equals(show_if.last_modified, None) assert_not_equals(show_if.created, None)
def test_error_if_wrong_type(self): data = { 'criteria_element': factories.ElementFactory().pk, 'node_type': 'GREATER', 'value': 'bar' } generators.LogicalNodeGenerator(data, self.page).generate(ElementTree.Element('test'))
def setUp(self): self.element = factories.ElementFactory() self.data = { 'criteria_element': self.element.pk, 'node_type': 'GREATER', 'value': 'bar' }
def test_updates_last_modified(self): page = factories.PageFactory() original_last_modified = page.last_modified factories.ElementFactory(page=page) assert_true(original_last_modified < page.last_modified)
def setUp(self): self.page = factories.PageFactory(display_index=0) factories.ElementFactory(page=self.page) self.generator = generators.PageGenerator(self.page) self.page_etree_element = self.generator.generate( ElementTree.Element('test'))
def setUp(self): self.client = Client(enforce_csrf_checks=False) self.user = factories.UserFactory() self.element = factories.ElementFactory() self.token = Token.objects.get(user=self.user) self.conditional_url = '/api/conditionals' grant_permissions()
def setUp(self): self.element = factories.ElementFactory(display_index=0, element_type='ENTRY', question='Which valve', answer='[]') self.generator = generators.ElementGenerator(self.element) self.element_etree_element = self.generator.generate( ElementTree.Element('test')) self.attribs = self.element_etree_element.attrib
def test_generates_and_or_node(self): data = { 'node_type': 'AND', 'children': [{ 'criteria_element': factories.ElementFactory().pk, 'node_type': 'GREATER', 'value': 'bar' }, { 'criteria_element': factories.ElementFactory().pk, 'node_type': 'GREATER', 'value': 'bar' }] } generator = generators.LogicalNodeGenerator(data, factories.PageFactory()) assert_is_not_none( generator.get_etree_node(ElementTree.Element('test')))
def test_has_correct_name(self): generator = generators.LogicalNodeGenerator( { 'node_type': 'NOT', 'children': [{ 'criteria_element': factories.ElementFactory().pk, 'node_type': 'GREATER', 'value': 'bar' }] }, factories.PageFactory()) assert_equals(generator.name, 'not')
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_error_if_blank_question(self): element = factories.ElementFactory(question='') generators.ElementGenerator(element).generate( ElementTree.Element('test'))
def assert_element_type_valid(self, element_type): element = factories.ElementFactory(element_type=element_type) assert_is_not_none(element)
def test_display_index_negative(self): factories.ElementFactory(display_index=-1)
def test_error_if_no_answer(self): element = factories.ElementFactory(answer=None) generators.ElementGenerator(element).generate( ElementTree.Element('test'))
def test_concept_optional(self): element = factories.ElementFactory(concept=None) element_etree = generators.ElementGenerator(element).generate( ElementTree.Element('test')) assert_false('concept' in element_etree.attrib)
def test_error_if_no_concept(self): element = factories.ElementFactory(concept=None) generators.ElementGenerator(element).generate( ElementTree.Element('test'))
def test_element_type_invalid(self): factories.ElementFactory(element_type='BAD')