Example #1
0
class TestJob(UnitTestCase):
    def setUp(self):
        super(TestJob, self).setUp()
        self.job = Job(slug='cthulhubot-sleep').get_domain_object()
        self.echo_job = Job(slug='cthulhubot-test-helper-echo-job').get_domain_object()

    def test_unicode_on_job_returns_proper_text(self):
        self.assert_equals(u"Sleep for a sec", unicode(self.job))

    def test_unicode_on_model_returns_slug(self):
        self.assert_equals(u"cthulhubot-sleep", unicode(self.job.model))

    def test_dict_bad_slug_raises_error(self):
        self.assert_raises(ValueError, self.job.get_parameter_dict, 0, 'zoidberg')

    def test_dict_contains_proper_help_text(self):
        self.assert_equals(SleepCommand.parameters['time']['help'], self.job.get_parameter_description_dict(0, 'time')['help'])

    def test_dict_contains_job_value_if_it_overwrites_command(self):
        self.assert_equals(0.02, self.job.get_parameter_dict(0, 'time'))

    def test_empty_form_provided_for_command_one_returned(self):
        self.assert_equals({'commands' : [{'command': 'cthulhubot-sleep', 'parameters': {}}]}, get_command_params_from_form_data(self.job, {}))

    def test_form_created_with_proper_number_of_fields(self):
        self.assert_equals(1, len(get_job_configuration_form(self.job).fields))

    def test_form_default_values_propagated_to_initials(self):
        self.assert_equals(0.02, get_job_configuration_form(self.job).initial.get('job_configuration_0'))

    def test_parameters_from_command_propagated_to_form_even_if_not_specified_there(self):
        self.assert_equals(1, len(get_job_configuration_form(self.echo_job).fields))