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