def test_filter_groups_have_correct_state_when_changed(self): request = self._get_request_for_params({ 'q': 'email', 'lot': 'paas', 'booleanExample1': 'true' }) search_filters = filters_for_lot('paas', questions_builder) set_filter_states(search_filters, request) self.assertEqual( search_filters[0], { 'label': 'Booleans example', 'filters': [ { 'checked': True, 'label': 'Option 1', 'name': 'booleanExample1', 'id': 'booleanExample1', 'value': 'true', }, { 'checked': False, 'label': 'Option 2', 'name': 'booleanExample2', 'id': 'booleanExample2', 'value': 'true', } ] } )
def test_filter_groups_have_correct_state_when_changed(self): request = self._get_request_for_params({ 'q': 'email', 'lot': 'paas', 'booleanExample1': 'true' }) search_filters = filters_for_lot('paas', questions_builder) set_filter_states(search_filters, request) self.assertEqual( search_filters[0], { 'label': 'Booleans example', 'filters': [{ 'checked': True, 'label': 'Option 1', 'name': 'booleanExample1', 'id': 'booleanExample1', 'value': 'true', }, { 'checked': False, 'label': 'Option 2', 'name': 'booleanExample2', 'id': 'booleanExample2', 'value': 'true', }] })
def test_filter_groups_have_correct_default_state(self): request = self._get_request_for_params({"q": "email", "lot": "paas"}) search_filters = filters_for_lot("paas", questions_builder) set_filter_states(search_filters, request) self.assertEqual( search_filters[0], { "label": "Booleans example", "filters": [ { "checked": False, "label": "Option 1", "name": "booleanExample1", "id": "booleanExample1", "value": "true", }, { "checked": False, "label": "Option 2", "name": "booleanExample2", "id": "booleanExample2", "value": "true", }, ], }, )
def test_instance_has_correct_filter_groups_for_iaas(self): search_filters = filters_for_lot('iaas', questions_builder) filter_group_labels = [group['label'] for group in search_filters] self.assertFalse('Booleans example' in filter_group_labels) self.assertTrue('Checkboxes example' in filter_group_labels) self.assertTrue('Radios example' in filter_group_labels)
def test_instance_has_correct_filter_groups_for_iaas(self): search_filters = filters_for_lot("iaas", questions_builder) filter_group_labels = [group["label"] for group in search_filters] self.assertFalse("Booleans example" in filter_group_labels) self.assertTrue("Checkboxes example" in filter_group_labels) self.assertTrue("Radios example" in filter_group_labels)
def test_request_filters_are_set(self): search_filters = filters_for_lot("saas", questions_builder) request = self._get_request_for_params({"q": "email", "booleanExample1": "true"}) set_filter_states(search_filters, request) self.assertEqual(search_filters[0]["filters"][0]["name"], "booleanExample1") self.assertEqual(search_filters[0]["filters"][0]["checked"], True) self.assertEqual(search_filters[0]["filters"][1]["name"], "booleanExample2") self.assertEqual(search_filters[0]["filters"][1]["checked"], False)
def test_instance_has_correct_filter_groups_for_iaas(self): search_filters = filters_for_lot('iaas', questions_builder) filter_group_labels = [ group['label'] for group in search_filters ] self.assertFalse('Booleans example' in filter_group_labels) self.assertTrue('Checkboxes example' in filter_group_labels) self.assertTrue('Radios example' in filter_group_labels)
def test_request_filters_are_set(self): search_filters = filters_for_lot('saas', questions_builder) request = self._get_request_for_params({ 'q': 'email', 'booleanExample1': 'true' }) set_filter_states(search_filters, request) self.assertEqual(search_filters[0]['filters'][0]['name'], 'booleanExample1') self.assertEqual(search_filters[0]['filters'][0]['checked'], True) self.assertEqual(search_filters[0]['filters'][1]['name'], 'booleanExample2') self.assertEqual(search_filters[0]['filters'][1]['checked'], False)
def test_request_filters_are_set(self): search_filters = filters_for_lot('saas', questions_builder) request = self._get_request_for_params({ 'q': 'email', 'booleanExample1': 'true' }) set_filter_states(search_filters, request) self.assertEqual(search_filters[0]['filters'][0]['name'], 'booleanExample1') self.assertEqual(search_filters[0]['filters'][0]['checked'], True) self.assertEqual(search_filters[0]['filters'][1]['name'], 'booleanExample2') self.assertEqual(search_filters[0]['filters'][1]['checked'], False)
import os import json import unittest from flask import Markup from mock import Mock from werkzeug.datastructures import MultiDict from app.presenters.search_presenters import filters_for_lot from app.presenters.search_results import SearchResults from app.presenters.search_summary import SearchSummary, \ SummaryRules, SummaryFragment from app import content_loader filter_groups = filters_for_lot( "saas", content_loader.get_builder('g-cloud-6', 'search_filters')) def _get_fixture_data(): test_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) fixture_path = os.path.join(test_root, 'fixtures', 'search_results_fixture.json') with open(fixture_path) as fixture_file: return json.load(fixture_file) def _get_fixture_multiple_pages_data(): test_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) fixture_path = os.path.join(test_root, 'fixtures', 'search_results_multiple_pages_fixture.json') with open(fixture_path) as fixture_file: return json.load(fixture_file)
def _get_filter_group_by_label(self, lot, label): filter_groups = filters_for_lot(lot, questions_builder) for filter_group in filter_groups: if filter_group['label'] == label: return filter_group
def _get_filter_group_by_label(self, lot, label): filter_groups = filters_for_lot(lot, questions_builder) for filter_group in filter_groups: if filter_group["label"] == label: return filter_group
import os import json import unittest from flask import Markup from mock import Mock from werkzeug.datastructures import MultiDict from app.presenters.search_presenters import filters_for_lot from app.presenters.search_results import SearchResults from app.presenters.search_summary import SearchSummary, \ SummaryRules, SummaryFragment from app import content_loader filter_groups = filters_for_lot( "saas", content_loader.get_builder('g-cloud-6', 'search_filters') ) def _get_fixture_data(): test_root = os.path.abspath( os.path.join(os.path.dirname(__file__), "..") ) fixture_path = os.path.join( test_root, 'fixtures', 'search_results_fixture.json' ) with open(fixture_path) as fixture_file: return json.load(fixture_file) def _get_fixture_multiple_pages_data():
import unittest from flask import Markup from mock import Mock from werkzeug.datastructures import MultiDict from app.presenters.search_presenters import filters_for_lot from app.presenters.search_results import SearchResults from app.presenters.search_summary import SearchSummary, \ SummaryRules, SummaryFragment from dmutils.content_loader import ContentLoader filter_groups = filters_for_lot( "saas", ContentLoader( "app/helpers/questions_manifest.yml", "app/content/g6/" ).get_builder() ) def _get_fixture_data(): test_root = os.path.abspath( os.path.join(os.path.dirname(__file__), "..") ) fixture_path = os.path.join( test_root, 'fixtures', 'search_results_fixture.json' ) with open(fixture_path) as fixture_file: return json.load(fixture_file)