예제 #1
0
    def find_shot(self, dbo):
        """Test find_shot, CRUD method

        :param dbObject dbo: dbo
        """
        self.reset(dbo)

        # 1. find shot from db
        with orm.db_session:
            temp_shot, _ = Shot.find_shot_by_id(self.shot.id)

            # 2. test value
            self.assert_value(temp_shot)

            temp_shot, err = Shot.find_shot_by_id(-1)

            # 3. assert on error
            self.assertEqual(err, "Shot Not Found !")
            self.assertEqual(temp_shot, None)

            # 4. find_all shot from db
            temp_shots = Shot.find_all_shots()

            # 5. test value
            self.assertEqual(len(temp_shots), 1)
            self.assert_value(temp_shots[0])
예제 #2
0
    def update_shot(self, dbo):
        """Test update_shot, CRUD method

        :param dbObject dbo: dbo
        """
        self.reset(dbo)
        with orm.db_session:
            # 1. find shot from db
            temp_shot, _ = Shot.find_shot_by_id(self.shot.id)

            # auto update to but not updatedAt datetime in this way
            temp_shot.duration += 20
            temp_shot, _ = Shot.update_shot_by_id(temp_shot.id, temp_shot)

            # 2. assert
            self.assertEqual("test_project", temp_shot.project.name)
            self.assertEqual("test", temp_shot.project.short_name)
            self.assertEqual(2020, temp_shot.project.year_start)
            self.assertEqual(2021, temp_shot.project.year_end)

            self.assertEqual(30, temp_shot.duration)
            self.assertEqual(self.project.id, temp_shot.project.id)

            # 3. assert on error
            temp_shot, err = Shot.update_shot_by_id(-1, temp_shot)
            self.assertEqual(err, "Shot Not Found !")
            self.assertEqual(temp_shot, None)
예제 #3
0
    def fill_datas(self):
        """fill tables with test data"""

        self.project = Project.create_project("test_project", "test", 2020,
                                              2021)
        self.shots = [
            Shot(duration=10, project=self.project),
            Shot(duration=80, project=self.project)
        ]
예제 #4
0
    def fill_datas(self):
        """Fill tables with test data"""

        self.project = Project(name="test_project", short_name="test",
                               year_start=2020, year_end=2021)

        self.shot = Shot.create_shot(10, self.project)
예제 #5
0
    def fill_datas(self, dbo):
        """fill tables with test datas

        :param dbObject dbo: dbo
        """
        self.project = Project(name="test_project", short_name="test",
                               year_start=2020, year_end=2021)

        self.shot = Shot(duration=1, project=self.project)
        self.asset_category = AssetCategory(name="test_category")

        self.asset = Asset(name="test_asset", project=self.project,
                           asset_category=self.asset_category, lod=10)

        self.task = Task.create_task("test_task", 10, self.asset)
        # xor on asset and shot
        TaskRepository.set_trigger_constraint_on_insert(dbo)

        self.subtask = Subtask.create_subtask("test_subtask", self.task)

        self.software = Software(name="test_software")
        self.extension = Extension(name="test_software", description="test_description")

        self.extension_software = ExtensionSoftware(extension=self.extension,
                                                    software=self.software)

        self.tag_file = TagFile(name="test_tag", description="test_tag_desc")

        self.file = File.create_file("test_file", self.extension_software,
                                     1, self.tag_file, self.subtask)
예제 #6
0
    def remove_shot(self, dbo):
        """Test remove_shot, CRUD method

        :param dbObject dbo: dbo
        """
        self.reset(dbo)
        with orm.db_session:
            # 1. find shot from db
            temp_shot, _ = Shot.find_shot_by_id(self.shot.id)

            # 2. remove
            Shot.remove_shot_by_id(temp_shot.id)

            # 3. re-get
            temp_shot, err = Shot.find_shot_by_id(self.shot.id)

            # 4. assert
            self.assertEqual(temp_shot, None)
            self.assertEqual("Shot Not Found !", err)
예제 #7
0
def seed_tasks():
    # get shot and asset (create 2 task)
    _shot = Shot.find_all_shots()[0]
    _asset = Asset.find_all_assets()[0]

    _task_shot = Task.create_task(name="shot_task_test", shot=_shot)

    # create a needed task
    _neededTask = Task.create_task("needed_task", asset=_asset)
    _neededTask2 = Task.create_task("needed_task2", asset=_asset)

    _task_asset = Task.create_task("asset_task_test",
                                   need=[_neededTask, _neededTask2], asset=_asset)

    return [_task_shot, _task_asset]
예제 #8
0
    def fill_datas(self, dbo):
        """Fill tables with test data

        :param dbObject dbo: dbo
        """
        self.project = Project(name="test_project",
                               short_name="test",
                               year_start=2020,
                               year_end=2021)

        self.shot = Shot(duration=1, project=self.project)
        self.asset_category = AssetCategory(name="test_category")

        self.asset = Asset(name="test_asset",
                           project=self.project,
                           asset_category=self.asset_category,
                           lod=10)

        # xor on asset and shot
        TaskRepository.set_trigger_constraint_on_insert(dbo)
        self.task = Task.create_task("test_task", 10, self.asset)
예제 #9
0
def seed_shot():
    # get project
    _project = Project.find_all_projects()[0]

    # create shot
    return Shot.create_shot(10, _project)