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)
Beispiel #10
0
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)