def test_uuid_hex(self, db): n = NumberModel(external_id=self.uuid_hex) n.save() obj = NumberModel.objects.get(external_id=uuid.UUID(hex=self.uuid_hex)) assert isinstance(obj.external_id, uuid.UUID) assert obj.external_id == uuid.UUID(hex=self.uuid_hex)
def test_decimal(self, db): n = NumberModel(a_number=Decimal('100.00')) n.save() with connection.cursor() as c: c.execute("SELECT a_number__c FROM number_object__c;") assert c.fetchone()[0] == 100.0 obj = NumberModel.objects.get() assert obj.a_number == Decimal('100.00') obj = NumberModel.objects.filter(a_number__gt=Decimal('99')).first() assert isinstance(obj.a_number, Decimal)
def test_uuid(self, db): n = NumberModel() n.save() with connection.cursor() as c: c.execute("SELECT external_id FROM number_object__c;") assert c.fetchone()[0] == self.uuid_hex obj = NumberModel.objects.get(external_id=self.uuid_hex) assert isinstance(obj.external_id, uuid.UUID) assert obj.external_id == uuid.UUID(hex=self.uuid_hex) obj = NumberModel.objects.get(external_id=uuid.UUID(hex=self.uuid_hex)) assert isinstance(obj.external_id, uuid.UUID) assert obj.external_id == uuid.UUID(hex=self.uuid_hex)
def test_check_sf_object_name_concrete(self): # the check for concrete models breaks when we try to use a # temporary `MyClass`, because `model._meta.app_config` is # invalid when just definiting `Meta.app_label`. # So for this test we just use an existing model and break # it. setattr(NumberModel, "sf_object_name", None) errors = NumberModel.check() assert errors == [ checks.Error( 'testapp.NumberModel must define a "sf_object_name".', id="heroku_connect.E001", ) ]
def test_null(self, db): n = NumberModel() n.save() obj = NumberModel.objects.get() assert obj.a_number is None
def test_null(self, db): n = NumberModel(external_id=None) n.save() obj = NumberModel.objects.get() assert obj.external_id is None