def test_does_not_raise_error_when_valid_text_entry_payload_supplied(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') try: client._validate_question_payload(self.valid_text_entry_payload) except AssertionError: self.fail('_validate_question_payload() raised AssertionErrror text-entry payload unexpectedly')
def test_validate_question_payload_raises_assertion_error_if_keys_missing(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') self.valid_minimal_question_payload_shape.pop('QuestionText', {}) with self.assertRaises(AssertionError): client._validate_question_payload(self.valid_minimal_question_payload_shape)
def test_does_not_raise_error_when_valid_payload_shape_supplied(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') try: client._validate_question_payload(self.valid_minimal_question_payload_shape) except AssertionError: self.fail('_validate_question_payload() raised AssertionErrror for minimal correctly shaped payload unexpectedly')
def test_raises_error_when_sub_selector_is_incorrect(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') self.valid_multi_choice_payload['SubSelector'] = 'INVALID' with self.assertRaises(AssertionError): client._validate_question_payload(self.valid_multi_choice_payload)
def test_raises_error_when_sub_selector_missing_when_expected(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') self.valid_multi_choice_payload.pop('SubSelector', {}) with self.assertRaises(AssertionError): client._validate_question_payload(self.valid_multi_choice_payload)
def test_raises_error_when_choice_order_but_no_choices(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') self.valid_multi_choice_payload.pop('Choices', {}) with self.assertRaises(AssertionError): client._validate_question_payload(self.valid_multi_choice_payload)
def test_validate_question_payload_raises_assertion_error_if_no_payload(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') with self.assertRaises(AssertionError): client._validate_question_payload()