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