def test_invalid_if_location_type_details_not_found(self):
        LocationTypeDetails.objects.all().delete()
        data_file={'file': SimpleUploadedFile(self.filename, self.file.read())}

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn('Location type details for Region not found.', upload_location_form.non_field_errors())
Exemple #2
0
    def test_invalid_if_location_type_details_not_found(self):
        LocationTypeDetails.objects.all().delete()
        data_file = {
            'file': SimpleUploadedFile(self.filename, self.file.read())
        }

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn('Location type details for Region not found.',
                      upload_location_form.non_field_errors())
    def test_invalid_if_has_code_is_checked_but_no_type_code_column(self):
        district = LocationTypeDetails.objects.get(location_type=self.district, required=True)
        district.has_code = True
        district.length_of_code = 6
        district.save()
        data_file={'file': SimpleUploadedFile(self.filename, self.file.read())}

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn('DistrictCode column should be before DistrictName column. Please refer to input file format.',
                      upload_location_form.non_field_errors())
    def test_invalid_if_headers_are_not_in_order(self):
        unordered_data = [['DistrictName', 'CountyName', 'RegionName'],
                          ['district1', 'county1', 'region1'],
                          ['district2', 'county2', 'region2']]
        self.write_to_csv('wb', unordered_data, csvfilename='some_file.csv')
        file = open('some_file.csv', 'rb')
        data_file = {'file': SimpleUploadedFile(self.filename, file.read())}

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn(
            'Location types not in order. Please refer to input file format.',
            upload_location_form.non_field_errors())
    def test_invalid_if_not_has_code_but_code_still_supplied(self):
        data = [['RegionName', 'DistrictCode', 'DistrictName', 'CountyName'],
                     ['region1', '001', 'district1', 'county1'],
                     ['region2', '002','district2', 'county2']]

        self.write_to_csv('wb', data)
        file = open('test.csv', 'rb')
        data_file={'file': SimpleUploadedFile(self.filename, self.file.read())}

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn('District has no code. The column DistrictCode should be removed. Please refer to input file format.',
                      upload_location_form.non_field_errors())
Exemple #6
0
    def test_invalid_if_has_code_is_checked_but_no_type_code_column(self):
        district = LocationTypeDetails.objects.get(location_type=self.district,
                                                   required=True)
        district.has_code = True
        district.length_of_code = 6
        district.save()
        data_file = {
            'file': SimpleUploadedFile(self.filename, self.file.read())
        }

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn(
            'DistrictCode column should be before DistrictName column. Please refer to input file format.',
            upload_location_form.non_field_errors())
Exemple #7
0
    def test_invalid_if_not_has_code_but_code_still_supplied(self):
        data = [['RegionName', 'DistrictCode', 'DistrictName', 'CountyName'],
                ['region1', '001', 'district1', 'county1'],
                ['region2', '002', 'district2', 'county2']]

        self.write_to_csv('wb', data)
        file = open('test.csv', 'rb')
        data_file = {
            'file': SimpleUploadedFile(self.filename, self.file.read())
        }

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn(
            'District has no code. The column DistrictCode should be removed. Please refer to input file format.',
            upload_location_form.non_field_errors())
    def test_invalid_if_headers_are_not_in_order(self):
        unordered_data = [['DistrictName', 'CountyName', 'RegionName'],
                          ['district1', 'county1', 'region1'],
                          ['district2', 'county2', 'region2']]
        self.write_to_csv('wb', unordered_data, csvfilename='some_file.csv')
        file = open('some_file.csv', 'rb')
        data_file={'file': SimpleUploadedFile(self.filename, file.read())}

        upload_location_form = UploadLocationsForm({}, data_file)

        self.assertEqual(False, upload_location_form.is_valid())
        self.assertIn('Location types not in order. Please refer to input file format.', upload_location_form.non_field_errors())