def test_create_license_and_set_as_default(self):
        license1 = models.UseLicense(license_code='XXX')
        license2 = models.UseLicense(license_code='YYY', is_default=False)
        license3 = models.UseLicense(license_code='ZZZ', is_default=True)

        license1.save()
        self.assertTrue(license1.is_default)

        license2.save()
        # created as not default, and already have one as default
        self.assertFalse(license2.is_default)

        license3.save()
        self.assertTrue(license3.is_default)
    def test_edit_license_and_change_default(self):
        license = models.UseLicense(license_code='XXX')

        license.save()
        self.assertTrue(license.is_default)

        license.is_default = False
        license.save()
        # no other default, so this one will be set as default (forced!)
        self.assertTrue(license.is_default)

        # create a new one as new default
        license2 = models.UseLicense(license_code='YYY', is_default=True)
        license2.save()
        self.assertTrue(license2.is_default)
        #  and then license.is_default must be False
        license = models.UseLicense.objects.get(license_code='XXX')
        self.assertFalse(license.is_default)