示例#1
0
 def test_no_pref(self):
     """
     User and task don't have preferences
     """
     owner = UserFactory.create(id=500)
     project = ProjectFactory.create(owner=owner)
     TaskFactory.create_batch(1, project=project, n_answers=10)
     tasks = get_user_pref_task(1, 500)
     assert tasks
示例#2
0
 def test_task_no_pref(self):
     """
     User has preferences set, task doesn't
     """
     owner = UserFactory.create(id=500)
     owner.user_pref = {'languages': ['en']}
     user_repo.save(owner)
     project = ProjectFactory.create(owner=owner)
     TaskFactory.create_batch(1, project=project, n_answers=10)
     tasks = get_user_pref_task(1, 500)
     assert tasks
示例#3
0
 def test_no_user_pref(self):
     """
     Task has preferences set, user doesn't
     """
     owner = UserFactory.create(id=500)
     user_repo.save(owner)
     project = ProjectFactory.create(owner=owner)
     task = TaskFactory.create_batch(1, project=project, n_answers=10)[0]
     task.user_pref = {'languages': ['en', 'de']}
     task_repo.save(task)
     tasks = get_user_pref_task(1, 500)
     assert not tasks
示例#4
0
 def test_task_2(self):
     """
     Task has multiple preferences, user has multiple preferences; match
     """
     owner = UserFactory.create(id=500)
     owner.user_pref = {'languages': ['en', 'de']}
     user_repo.save(owner)
     project = ProjectFactory.create(owner=owner)
     task = TaskFactory.create_batch(1, project=project, n_answers=10)[0]
     task.user_pref = {'languages': ['en', 'es']}
     task_repo.save(task)
     tasks = get_user_pref_task(1, 500)
     assert tasks
示例#5
0
 def test_task_7(self):
     """
     Invalid user preference
     """
     owner = UserFactory.create(id=500)
     owner.user_pref = {'languages': 'invalid_user_pref'}
     user_repo.save(owner)
     project = ProjectFactory.create(owner=owner)
     task = TaskFactory.create_batch(1, project=project, n_answers=10)[0]
     task.user_pref = {'languages': ['en', 'zh']}
     task_repo.save(task)
     tasks = get_user_pref_task(1, 500)
     assert not tasks
示例#6
0
 def test_task_6(self):
     """
     User has multiple preferences of different kinds,
     task has multiple preferences of different kinds, no match
     """
     owner = UserFactory.create(id=500)
     owner.user_pref = {'languages': ['de'], 'locations': ['us']}
     user_repo.save(owner)
     project = ProjectFactory.create(owner=owner)
     task = TaskFactory.create_batch(1, project=project, n_answers=10)[0]
     task.user_pref = {'languages': ['en', 'zh'], 'locations': ['es']}
     task_repo.save(task)
     tasks = get_user_pref_task(1, 500)
     assert not tasks