Ejemplo n.º 1
0
class TestModels(TestCase):
    def setUp(self):
        self.task = Tasks(task_name='test_task', author='author')
        self.task.create()

    @property
    def __fields_list(self):
        return loads(self.task.fields_list)['fields']

    def test_create_repeatedly(self):
        with self.assertRaises(TaskIsAlreadyExistsException):
            Tasks(task_name='test_task', author='author').create()

    def test_add_field(self):
        self.task.add_field('field_1')
        self.task.add_field('field_2')
        self.task.refresh_from_db()

        fields = self.__fields_list

        self.assertEquals(fields[0]['name'], 'field_1')
        self.assertEquals(fields[0]['field_id'], 0)

        self.assertEquals(fields[1]['name'], 'field_2')
        self.assertEquals(fields[1]['field_id'], 1)

    def test_remark_field(self):
        self.task.add_field('field_1')
        self.task.remark_field(0)
        self.task.refresh_from_db()

        fields = self.__fields_list
        self.assertEquals(fields[0]['marked'], 1)

        self.task.remark_field(0)

        fields = self.__fields_list
        self.assertEquals(fields[0]['marked'], 0)

    def test_delete_field(self):
        self.task.add_field('field_1')
        self.task.delete_field(0)
        self.task.refresh_from_db()

        self.assertIsNone(self.task.fields_list)