def test_keyword_clean(self):
        """
        Tests that the keyword is stripped of any quotes.
        """
        parameter = KeywordSearchParameter(2, '"test me"')

        self.assertTrue(parameter.is_valid())
        self.assertEqual(parameter.keyword, 'test me')
    def test_empty_keyword_value(self):
        """
        Tests that an EMPTY_VALUE error is added to the parameter
        error list if the given keyword is empty.
        """
        parameter = KeywordSearchParameter(2, '')

        self.assertFalse(parameter.is_valid())
        self.assertEqual(len(parameter.errors), 1)
        self.assertEqual(
            parameter.errors[0],
            KeywordSearchParameter.EMPTY_VALUE,
        )
    def test_get_parameter_info(self):
        """
        Tests that .get_parameter_info() returns the extra properties
        besides the base dictionary.
        """
        parameter = KeywordSearchParameter(3, '"Oh my"')

        self.assertDictEqual(parameter.as_dict(), {
            'parameter': '"Oh my"',
            'type': 'keyword',
            'index': 3,
            'errors': [],
            'keyword': 'Oh my',
        })