def testDataExtractorMustReturnAListOfTuplesContainingTheDataToBeExported(self):
     db_deliveries_extractor = DbDeliveriesExtractor()
     db_deliveries_extractor.course = self.course
     
     result_list = db_deliveries_extractor.get_data()
     
     first_entry = (self.practice_uid, self.student_name_1, self.student_first_name_1, self.student_last_name_1, self.automatic_result_successfull, 8)
     second_entry = (self.practice_uid,self.student_name_2 , self.student_first_name_2, self.student_last_name_2, self.automatic_result_failed,None)
     
     self.assertEquals(result_list[0], first_entry)
     self.assertEquals(result_list[1], second_entry)
예제 #2
0
    def testDataExtractorMustReturnAListOfTuplesContainingTheDataToBeExported(
            self):
        db_deliveries_extractor = DbDeliveriesExtractor()
        db_deliveries_extractor.course = self.course

        result_list = db_deliveries_extractor.get_data()

        first_entry = (self.practice_uid, self.student_name_1,
                       self.student_first_name_1, self.student_last_name_1,
                       self.automatic_result_successfull, 8)
        second_entry = (self.practice_uid, self.student_name_2,
                        self.student_first_name_2, self.student_last_name_2,
                        self.automatic_result_failed, None)

        self.assertEquals(result_list[0], first_entry)
        self.assertEquals(result_list[1], second_entry)
예제 #3
0
 def testDataExtractorInvokeFilterMethodFromTheORM(self):
     objects = Mock()
     delivery_mock = Mock()
     filter_return_value = Mock()
     filter_return_value.status = 1
     objects.filter.return_value = filter_return_value
     delivery_mock.get_automatic_correction.return_value = filter_return_value
     filter_return_value.order_by.return_value = [delivery_mock,]
     
     practices = Mock()
     practice_mock = Mock()
     practices.all.return_value = [practice_mock,]
     
     students = Mock()
     student_all_return_value = Mock()
     student_mock = Mock()
     student_all_return_value.order_by.return_value = [student_mock,]
     students.all.return_value = student_all_return_value
     
     db_deliveries_extractor = DbDeliveriesExtractor()
     db_deliveries_extractor.objects = objects
     db_deliveries_extractor.students = students
     db_deliveries_extractor.practices = practices
     
     db_deliveries_extractor.get_data()
     
     objects.filter.assert_called()
예제 #4
0
파일: export.py 프로젝트: nicopaez/seal
def download(request, idcourse):
    if(len(request.user.teacher_set.all()) > 0): # if an authenticated user "accidentally" access this section, he doesn't get an exception
        course = Course.objects.get(pk=idcourse)
        db_data_extractor = DbDeliveriesExtractor()
        db_data_extractor.course = course
        data = db_data_extractor.get_data()
        csv_tuple_printer = CsvTuplePrinter()
        output_file_name = get_output_file_name(course.name)
        csv_tuple_printer.open(output_file_name)
        for line in data:
            csv_tuple_printer.put(line)
        csv_tuple_printer.close()
        file = open(output_file_name)
        response = HttpResponse(file, content_type=TYPECSV)
        response['Content-Disposition'] = 'attachment; filename=%s' % output_file_name
        return response
    else:
        return HTTP_401_UNAUTHORIZED_RESPONSE
예제 #5
0
 def testDataExtractorMustReturnAListContainingTheDataToBeExported(self):
     objects = Mock()
     delivery_mock = Mock()
     delivery_mock.practice.uid = "1"
     filter_return_value = Mock()
     filter_return_value.status = 1
     objects.filter.return_value = filter_return_value
     delivery_mock.get_automatic_correction.return_value = filter_return_value
     filter_return_value.order_by.return_value = [delivery_mock,]
     
     practices = Mock()
     practice_mock = Mock()
     practice_mock.uid = "2"
     practices.all.return_value = [practice_mock,]
     
     students = Mock()
     student_all_return_value = Mock()
     student_mock = Mock()
     student_all_return_value.order_by.return_value = [student_mock,]
     students.all.return_value = student_all_return_value
     
     db_deliveries_extractor = DbDeliveriesExtractor()
     db_deliveries_extractor.objects = objects
     db_deliveries_extractor.students = students
     db_deliveries_extractor.practices = practices
     
     
     result_value = db_deliveries_extractor.get_data()
     
     first_expected = (delivery_mock.practice.uid, delivery_mock.student.uid, delivery_mock.student.user.first_name, delivery_mock.student.user.last_name, 
                       "aprobado", delivery_mock.get_correction.return_value.grade)
     second_expected = (practice_mock.uid, student_mock.uid, student_mock.user.first_name, student_mock.user.last_name, 
                       "pendiente", None)
     expected_value = [first_expected, second_expected,]
     self.assertEquals(result_value, expected_value)