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_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_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)
    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)