예제 #1
0
    def test_process_row(self):
        csv_row = self.get_row()
        csv_loader.process_row(csv_row)
        self.assertEqual(models.Database.objects.get().name, "NHSE_IAPT")
        self.assertEqual(models.Table.objects.get().name, "Appointment_v15")

        db_row = models.Row.objects.get()

        self.assertEqual(db_row.data_item, "REFERRAL_ID")

        self.assertEqual(db_row.description, "A sequential number allocated")

        self.assertEqual(db_row.data_type, "bigint")

        self.assertEqual(db_row.derivation, "Derived as part of a process")

        self.assertEqual(db_row.data_dictionary_name,
                         "ORGANISATION CODE (CODE OF PROVIDER)")

        self.assertEqual(db_row.data_dictionary_link,
                         "http://www.datadictionary.nhs.uk/")

        self.assertEqual(db_row.author, "Francis Bacon")

        self.assertEqual(db_row.created_date_ext, datetime.date(2017, 8, 31))

        self.assertEqual(db_row.is_derived_item, True)

        self.assertEqual(db_row.definition_id, 123)

        self.assertEqual(db_row.technical_check, "something")
예제 #2
0
    def test_process_row_raises(self):
        csv_row = self.get_row(trees="are green")

        with self.assertRaises(ValueError) as v:
            csv_loader.process_row(csv_row)

        self.assertEqual(str(v.exception),
                         "We are not saving a value for trees, should we be?")
예제 #3
0
 def test_process_row_update(self):
     csv_row = self.get_row()
     csv_loader.process_row(csv_row)
     updated_csv_row = self.get_row(
         Data_Item_Description="something different")
     csv_loader.process_row(updated_csv_row)
     db_row = models.Row.objects.get()
     self.assertEqual(db_row.description, "something different")
예제 #4
0
    def test_new_database(self):
        csv_row = self.get_row()
        csv_loader.process_row(csv_row)
        updated_csv_row = self.get_row(Database="different database")
        csv_loader.process_row(updated_csv_row)
        self.assertEqual(
            list(models.Database.objects.all().values_list("name", flat=True)),
            ["NHSE_IAPT", "different database"])
        self.assertEqual(models.Table.objects.first().name, "Appointment_v15")

        self.assertEqual(models.Table.objects.last().name, "Appointment_v15")
예제 #5
0
    def test_database_update_new_table(self):
        csv_row = self.get_row()
        csv_loader.process_row(csv_row)
        updated_csv_row = self.get_row(Table_Name="something different")
        csv_loader.process_row(updated_csv_row)
        self.assertEqual(
            list(models.Table.objects.all().values_list("name", flat=True)),
            ["Appointment_v15", "something different"])
        self.assertEqual(
            models.Table.objects.first().row_set.first().data_item,
            "REFERRAL_ID")

        self.assertEqual(models.Table.objects.last().row_set.first().data_item,
                         "REFERRAL_ID")
예제 #6
0
 def test_ignore_unknown_empty_fields(self):
     csv_row = self.get_row(trees="")
     csv_loader.process_row(csv_row)
     self.assertEqual(models.Row.objects.first().data_item, "REFERRAL_ID")