Example #1
0
    def test_get_locked_task_gold_only(self):
        owner = UserFactory.create(id=500)
        project = ProjectFactory.create(owner=owner)
        project.info['sched'] = Schedulers.locked
        project_repo.save(project)

        TaskFactory.create(project=project, info='task 1', calibration=0, n_answers=2)
        assert not get_locked_task(project.id, 1, task_type='gold')
        TaskFactory.create(project=project, info='task 1', calibration=1, n_answers=2)
        assert get_locked_task(project.id, 1, task_type='gold')
Example #2
0
    def test_get_locked_task_randomize(self):
        owner = UserFactory.create(id=500)
        project = ProjectFactory.create(owner=owner)
        project.info['sched'] = Schedulers.locked
        project_repo.save(project)

        TaskFactory.create(project=project, info='task 1', n_answers=2)
        TaskFactory.create(project=project, info='task 2', n_answers=2)

        assert get_locked_task(project.id, 1, rand_within_priority=True)
        assert get_locked_task(project.id, 2, rand_within_priority=True)
        assert get_locked_task(project.id, 3, rand_within_priority=True)
        assert get_locked_task(project.id, 4, rand_within_priority=True)
        assert not get_locked_task(project.id, 5, rand_within_priority=True)
Example #3
0
    def test_get_locked_task_offset(self):
        owner = UserFactory.create(id=500)
        project = ProjectFactory.create(owner=owner)
        project.info['sched'] = Schedulers.locked
        project_repo.save(project)

        task1 = TaskFactory.create(project=project, info='task 1', n_answers=2)
        task2 = TaskFactory.create(project=project, info='task 2', n_answers=2)
        task3 = TaskFactory.create(project=project, info='task 2', n_answers=2)

        t1 = get_locked_task(project.id, 1)
        assert t1[0].id == task1.id
        t2 = get_locked_task(project.id, 1, offset=1)
        assert t2 is None
        t3 = get_locked_task(project.id, 1, offset=2)
        assert t3 is None
Example #4
0
    def test_get_locked_task_gold_first(self):
        owner = UserFactory.create(id=500)
        project = ProjectFactory.create(owner=owner)
        project.info['sched'] = Schedulers.locked
        project_repo.save(project)

        TaskFactory.create(project=project, info='task 1', calibration=0, n_answers=2)
        task2 = TaskFactory.create(project=project, info='task 1', calibration=1, n_answers=2)
        task = get_locked_task(project.id, 1, task_type='gold_first')[0]
        assert task.id == task2.id, (task, task2)
Example #5
0
    def test_get_locked_task(self):
        owner = UserFactory.create(id=500)
        project = ProjectFactory.create(owner=owner)
        project.info['sched'] = Schedulers.locked
        project_repo.save(project)

        task1 = TaskFactory.create(project=project, info='task 1', n_answers=2)
        task2 = TaskFactory.create(project=project, info='task 2', n_answers=2)

        t1 = get_locked_task(project.id, 11)
        t2 = get_locked_task(project.id, 1)
        assert t1[0].id == task1.id
        assert t2[0].id == task1.id
        t3 = get_locked_task(project.id, 2)
        t4 = get_locked_task(project.id, 3)
        assert t3[0].id == task2.id
        assert t4[0].id == task2.id

        t5 = get_locked_task(project.id, 11)
        assert t5[0].id == task1.id

        t6 = get_locked_task(project.id, 4)
        assert not t6