Beispiel #1
0
    def test_can_find_product_by_primary_key(self):
        dataset = Dataset(version='1', name='test-dataset')
        dataset.save()

        product = Product(name='test-product', dataset=dataset, url='test-url')
        product.save()

        saved_products = Product.objects.all()
        first_product = saved_products[0]
Beispiel #2
0
	def test_can_match_product_and_task_by_dataset(self):
		dataset1 = Dataset(name='dataset1', version='1')
		dataset1.save()
		dataset2 = Dataset(name='dataset2', version='1')
		dataset2.save()

		product1 = Product(dataset=dataset1, name='product1', url='111')
		product1.save()
		product2 = Product()
		product2.dataset = dataset2
		product2.name = 'product2'
		product2.url = '222'
		product2.save()

		task1 = OpTask(dataset=dataset1, name='task1')
		task1.save()
		task2 = OpTask(dataset=dataset2, name='task2')
		task2.save()

		saved_products = Product.objects.all()
		first_product = saved_products[0]
		first_dataset = first_product.dataset
		second_product = saved_products[1]
		second_dataset = second_product.dataset

		first_matched_tasks = first_dataset.optask_set.all()
		first_task = first_matched_tasks[0]
		second_matched_tasks = second_dataset.optask_set.all()
		second_task = second_matched_tasks[0]

		self.assertEqual(first_product.dataset, first_task.dataset)
		self.assertEqual(second_product.dataset, second_task.dataset)
Beispiel #3
0
	def test_can_create_products_and_tasks(self):
		dataset1 = Dataset(name='dataset1', version='1')
		dataset1.save()
		dataset2 = Dataset(name='dataset2', version='1')
		dataset2.save()

		product1 = Product(dataset=dataset1, name='product1', url='111')
		product1.save()
		product2 = Product()
		product2.dataset = dataset2
		product2.name = 'product2'
		product2.url = '222'
		product2.save()

		task1 = OpTask(dataset=dataset1, name='task1')
		task1.save()
		task2 = OpTask(dataset=dataset2, name='task2')
		task2.save()

		saved_products = Product.objects.all()
		first_product = saved_products[0]
		second_product = saved_products[1]

		self.assertEqual(saved_products.count(), 2)
		self.assertNotEqual(first_product.dataset, None)
		self.assertNotEqual(second_product.dataset, None)
    def test_can_find_users_tasks(self):
        # create a bunch of users
        user1 = User(username='******', password=make_password('John'))
        user1.save()
        userprofile1 = UserProfile(user=user1)
        userprofile1.save()

        user2 = User(username='******', password=make_password('Paul'))
        user2.save()
        userprofile2 = UserProfile(user=user2)
        userprofile2.save()

        user3 = User(username='******', password=make_password('Ringo'))
        user3.save()
        userprofile3 = UserProfile(user=user3)
        userprofile3.save()

        # assign them some tasks
        testdata = Dataset(name='testdata', version='1')
        testdata.save()

        testproduct = Product(dataset=testdata,
                              name='testproduct',
                              url='testproduct')
        testproduct.save()

        testtask1 = OpTask(dataset=testdata, name='task1')
        testtask1.save()
        testtask2 = OpTask(dataset=testdata, name='task2')
        testtask2.save()

        test_tli_1 = TaskListItem(userprofile=userprofile1,
                                  product=testproduct,
                                  op_task=testtask1,
                                  index=0)
        test_tli_1.save()
        test_tli_2 = TaskListItem(userprofile=userprofile1,
                                  product=testproduct,
                                  op_task=testtask2,
                                  index=1)
        test_tli_2.save()

        test_tlis = TaskListItem.objects.all()
        self.assertEqual(test_tlis.count(), 2)

        # find the matches based on user profiles
        saved_userprofiles = UserProfile.objects.all()
        for userprofile in saved_userprofiles:
            matched_task_items = userprofile.tasklistitem_set.all()
            if userprofile.user.username == 'John':
                self.assertEqual(matched_task_items.count(), 2)
            else:
                self.assertEqual(matched_task_items.count(), 0)
Beispiel #5
0
	def test_can_find_users_tasks(self):
		# create a bunch of users
		user1 = User(username='******', password=make_password('John'))
		user1.save()
		userprofile1 = UserProfile(user=user1)
		userprofile1.save()

		user2 = User(username='******', password=make_password('Paul'))
		user2.save()
		userprofile2 = UserProfile(user=user2)
		userprofile2.save()

		user3 = User(username='******', password=make_password('Ringo'))
		user3.save()
		userprofile3 = UserProfile(user=user3)
		userprofile3.save()

		# assign them some tasks 
		testdata = Dataset(name='testdata', version='1')
		testdata.save()

		testproduct = Product(dataset=testdata, name='testproduct', url='testproduct')
		testproduct.save()

		testtask1 = OpTask(dataset=testdata, name='task1')
		testtask1.save()
		testtask2 = OpTask(dataset=testdata, name='task2')
		testtask2.save()

		test_tli_1 = TaskListItem(userprofile=userprofile1,
								  product=testproduct,
								  op_task=testtask1,
								  index=0)
		test_tli_1.save()
		test_tli_2 = TaskListItem(userprofile=userprofile1,
								  product=testproduct,
								  op_task=testtask2,
								  index=1)
		test_tli_2.save()

		test_tlis = TaskListItem.objects.all()
		self.assertEqual(test_tlis.count(),2)

		# find the matches based on user profiles 
		saved_userprofiles = UserProfile.objects.all()
		for userprofile in saved_userprofiles:
			matched_task_items = userprofile.tasklistitem_set.all()
			if userprofile.user.username == 'John':
				self.assertEqual(matched_task_items.count(),2)
			else:
				self.assertEqual(matched_task_items.count(),0)
Beispiel #6
0
	def test_can_find_product_by_primary_key(self):
		dataset = Dataset(version='1', name='test-dataset')
		dataset.save()

		product = Product(name='test-product', dataset=dataset, url='test-url')
		product.save()

		saved_products = Product.objects.all()
		first_product = saved_products[0]
		# print first_product.id

	# def test_can_find_users_by_experiment(self):
	# 	True
		
Beispiel #7
0
    def _create_data(self):
        experiment = Experiment(name='Test-exp',
                                task_count=2,
                                task_length=30,
                                has_achievements=True,
                                has_intake=True,
                                has_followup=True,
                                auto_tasking=True,
                                sequential_tasks=True,
                                consent=True)
        experiment.save()

        dataset = Dataset(name='Test-DS', version='v0.1')
        dataset.save()

        Product(dataset=dataset,
                url='/static/testing/index.html',
                instructions=settings.STATIC_URL + 'testing/instructions.html',
                team='test-team',
                name='test-product',
                version='v0.1').save()

        for task in test_tasks:
            newtask = OpTask(dataset=dataset,
                             name=task['name'],
                             survey_url=task['ot_survey_url'],
                             exit_url=task['ot_exit_url']).save()
Beispiel #8
0
    def test_can_add_and_retrieve_database_items(self):
        dataset = Dataset()
        dataset.version = '1'
        dataset.name = 'test'
        dataset.save()

        product = Product()
        product.dataset = dataset
        product.url = 'http://www.cnn.com'
        product.team = 'CNN'
        product.name = 'CNN News'
        product.version = '1'
        product.instructions = 'http://www.cnn.com'
        product.save()

        saved_products = Product.objects.all()
        self.assertEqual(saved_products.count(), 1)
Beispiel #9
0
    def test_can_edit_product_details(self):
        dataset = Dataset(version='1', name='test-dataset')
        dataset.save()

        product = Product(name='test-product', dataset=dataset, url='test-url')
        product.save()

        saved_products = Product.objects.all()
        self.assertEqual(saved_products.count(), 1)

        first_product = saved_products[0]
        self.assertEqual(first_product.name, 'test-product')
        first_product.name = 'new-name'
        first_product.save()

        new_saved_products = Product.objects.all()
        self.assertEqual(new_saved_products.count(), 1)

        new_first_product = new_saved_products[0]
        self.assertEqual(new_first_product.name, 'new-name')
Beispiel #10
0
	def test_can_edit_product_details(self):
		dataset = Dataset(version='1', name='test-dataset')
		dataset.save()

		product = Product(name='test-product', dataset=dataset, url='test-url')
		product.save()

		saved_products = Product.objects.all()
		self.assertEqual(saved_products.count(), 1)

		first_product = saved_products[0]
		self.assertEqual(first_product.name, 'test-product')
		first_product.name = 'new-name'
		first_product.save()

		new_saved_products = Product.objects.all()
		self.assertEqual(new_saved_products.count(), 1)

		new_first_product = new_saved_products[0]
		self.assertEqual(new_first_product.name, 'new-name')
Beispiel #11
0
	def test_can_count_completed_tasks(self):
		dataset = Dataset(version='1', name='test')
		dataset.save()

		task = OpTask(dataset=dataset, name='test_task', survey_url='test_url')
		task.save()

		user = User(username='******', password=make_password('paul'))
		user.save()

		userprofile = UserProfile(user=user)
		userprofile.save()

		product = Product(dataset=dataset, url='test_url')
		product.save()

		TaskListItem(
			userprofile=userprofile, 
			op_task=task,
			product=product,
			index=0,
			task_active=True,
			task_complete=False,
			exit_active=False,
			exit_complete=False).save()

		TaskListItem(
			userprofile=userprofile,
			op_task=task,
			product=product,
			index=1,
			task_active=False,
			task_complete=True,
			exit_active=False,
			exit_complete=False).save()

		saved_tasks = TaskListItem.objects.all()
		self.assertEqual(saved_tasks.count(), 2)

		self.assertEqual(saved_tasks.filter(task_active=True).count(), 1)
		self.assertEqual(saved_tasks.filter(task_complete=False).count(), 1)
Beispiel #12
0
	def test_can_add_and_retrieve_database_items(self):
		dataset = Dataset()
		dataset.version = '1'
		dataset.name = 'test'
		dataset.save()

		product = Product()
		product.dataset = dataset
		product.url = 'http://www.cnn.com'
		product.team = 'CNN'
		product.name = 'CNN News'
		product.version = '1'
		product.instructions = 'http://www.cnn.com'
		product.save()

		saved_products = Product.objects.all()
		self.assertEqual(saved_products.count(),1)
Beispiel #13
0
    def test_can_count_completed_tasks(self):
        dataset = Dataset(version='1', name='test')
        dataset.save()

        task = OpTask(dataset=dataset, name='test_task', survey_url='test_url')
        task.save()

        user = User(username='******', password=make_password('paul'))
        user.save()

        userprofile = UserProfile(user=user)
        userprofile.save()

        product = Product(dataset=dataset, url='test_url')
        product.save()

        TaskListItem(userprofile=userprofile,
                     op_task=task,
                     product=product,
                     index=0,
                     task_active=True,
                     task_complete=False,
                     exit_active=False,
                     exit_complete=False).save()

        TaskListItem(userprofile=userprofile,
                     op_task=task,
                     product=product,
                     index=1,
                     task_active=False,
                     task_complete=True,
                     exit_active=False,
                     exit_complete=False).save()

        saved_tasks = TaskListItem.objects.all()
        self.assertEqual(saved_tasks.count(), 2)

        self.assertEqual(saved_tasks.filter(task_active=True).count(), 1)
        self.assertEqual(saved_tasks.filter(task_complete=False).count(), 1)
Beispiel #14
0
    def test_saving_and_retrieving_product(self):
        dataset = Dataset()
        dataset.version = '1'
        dataset.name = 'test'
        dataset.save()

        product = Product()
        product.dataset = dataset
        product.url = 'http://espn.go.com'
        product.team = 'ESPN'
        product.name = 'ESPNews'
        product.version = '1'
        product.instructions = 'http://www.si.com'
        product.save()

        saved_products = Product.objects.all()
        self.assertEqual(saved_products.count(), 1)

        first_product = saved_products[0]
        self.assertEqual(first_product.url, 'http://espn.go.com')
        self.assertEqual(first_product.team, 'ESPN')
        self.assertEqual(first_product.name, 'ESPNews')
        self.assertEqual(first_product.version, '1')
        self.assertEqual(first_product.instructions, 'http://www.si.com')
Beispiel #15
0
	def test_saving_and_retrieving_product(self):
		dataset = Dataset()
		dataset.version = '1'
		dataset.name = 'test'
		dataset.save()

		product = Product()
		product.dataset = dataset
		product.url = 'http://espn.go.com'
		product.team = 'ESPN'
		product.name = 'ESPNews'
		product.version = '1'
		product.instructions = 'http://www.si.com'
		product.save()

		saved_products = Product.objects.all()
		self.assertEqual(saved_products.count(), 1)

		first_product = saved_products[0]
		self.assertEqual(first_product.url, 'http://espn.go.com')
		self.assertEqual(first_product.team, 'ESPN')
		self.assertEqual(first_product.name, 'ESPNews')
		self.assertEqual(first_product.version, '1')
		self.assertEqual(first_product.instructions, 'http://www.si.com')
Beispiel #16
0
    def setUp(self):
        # REALLY REALLY should do this soon...
        # TODO find a way to call populate_db
        experiment = Experiment(name='Test-exp',
                                task_count=2,
                                task_length=30,
                                has_achievements=True,
                                has_intake=True,
                                has_followup=True,
                                auto_tasking=True)
        experiment.save()

        test_tasks = [{
            'name': 'Functional-Test-OT1',
            'ot_survey_url': 'https://www.surveymonkey.com/s/LR37HZG',
            'ot_exit_url': 'https://www.surveymonkey.com/s/VD8NQZT'
        }, {
            'name': 'Functional-Test-OT2',
            'ot_survey_url': 'https://www.surveymonkey.com/s/LR37HZG',
            'ot_exit_url': 'https://www.surveymonkey.com/s/VD8NQZT'
        }]

        dataset = Dataset(name='Functional-Test-DS', version='v0.1')
        dataset.save()

        Product(dataset=dataset,
                url='/static/testing/index.html',
                instructions=settings.STATIC_URL + 'testing/instructions.html',
                team='functional-test-team',
                name='functional-test-product',
                version='v0.1').save()

        for task in test_tasks:
            newtask = OpTask(dataset=dataset,
                             name=task['name'],
                             survey_url=task['ot_survey_url'],
                             exit_url=task['ot_exit_url']).save()

        self.browser = webdriver.Firefox()
        self.browser.implicitly_wait(3)
Beispiel #17
0
    def test_can_match_product_and_task_by_dataset(self):
        dataset1 = Dataset(name='dataset1', version='1')
        dataset1.save()
        dataset2 = Dataset(name='dataset2', version='1')
        dataset2.save()

        product1 = Product(dataset=dataset1, name='product1', url='111')
        product1.save()
        product2 = Product()
        product2.dataset = dataset2
        product2.name = 'product2'
        product2.url = '222'
        product2.save()

        task1 = OpTask(dataset=dataset1, name='task1')
        task1.save()
        task2 = OpTask(dataset=dataset2, name='task2')
        task2.save()

        saved_products = Product.objects.all()
        first_product = saved_products[0]
        first_dataset = first_product.dataset
        second_product = saved_products[1]
        second_dataset = second_product.dataset

        first_matched_tasks = first_dataset.optask_set.all()
        first_task = first_matched_tasks[0]
        second_matched_tasks = second_dataset.optask_set.all()
        second_task = second_matched_tasks[0]

        self.assertEqual(first_product.dataset, first_task.dataset)
        self.assertEqual(second_product.dataset, second_task.dataset)
Beispiel #18
0
    def test_can_create_products_and_tasks(self):
        dataset1 = Dataset(name='dataset1', version='1')
        dataset1.save()
        dataset2 = Dataset(name='dataset2', version='1')
        dataset2.save()

        product1 = Product(dataset=dataset1, name='product1', url='111')
        product1.save()
        product2 = Product()
        product2.dataset = dataset2
        product2.name = 'product2'
        product2.url = '222'
        product2.save()

        task1 = OpTask(dataset=dataset1, name='task1')
        task1.save()
        task2 = OpTask(dataset=dataset2, name='task2')
        task2.save()

        saved_products = Product.objects.all()
        first_product = saved_products[0]
        second_product = saved_products[1]

        self.assertEqual(saved_products.count(), 2)
        self.assertNotEqual(first_product.dataset, None)
        self.assertNotEqual(second_product.dataset, None)
def new_product(request):
    if user_authorized(request):
        product = Product(name=request.POST['product_name'])
        product.url = request.POST['product_url']
        product.team = request.POST['product_team']
        product.url = request.POST['product_url']
        product.version = request.POST['product_version']
        product.instructions = request.POST['product_instructions']
        product.is_active = request.POST.get('product_active', False)

        dataset = Dataset.objects.get(name=request.POST['product_dataset'])
        product.dataset = dataset

        product.save()

        return redirect('exp_portal:view_products')