migrate site id to varchar instead of int
This commit is contained in:
1 parent
61f954a3bd
commit
36639d8c38
16 files changed
+448
-41
No files matched your search
@@ -20,7 +20,7 @@ class ActiveSite(models.Model):
|
||||
blank=True,
|
||||
default="",
|
||||
db_index=True,
|
||||
help_text="Farm-location Site.site_id (slug) from the registering dashboard",
|
||||
help_text="Farm-location Site.site_id (slug); equals HQ sites.site_id when claimed",
|
||||
)
|
||||
api_base_url = models.URLField(
|
||||
max_length=255,
|
||||
|
||||
@@ -149,6 +149,7 @@ class ClaimActiveSiteTests(TestCase):
|
||||
self.active = ActiveSite.objects.create(
|
||||
code="sukawarna",
|
||||
name="Sukawarna",
|
||||
source_site_id="sukawarna-0001",
|
||||
api_base_url="https://sukawarna.example/api/v1",
|
||||
api_key="site-secret",
|
||||
managed_by=None,
|
||||
@@ -164,7 +165,18 @@ class ClaimActiveSiteTests(TestCase):
|
||||
self.assertEqual(response.status_code, 200, response.data)
|
||||
self.active.refresh_from_db()
|
||||
self.assertEqual(self.active.managed_by_id, self.gm.pk)
|
||||
self.assertTrue(Site.objects.filter(active_site=self.active, user=self.gm).exists())
|
||||
hq = Site.objects.get(active_site=self.active, user=self.gm)
|
||||
self.assertEqual(hq.pk, "sukawarna-0001")
|
||||
self.assertEqual(hq.site_id, self.active.source_site_id)
|
||||
|
||||
def test_claimed_site_api_id_is_farm_slug_string(self):
|
||||
self.client.force_authenticate(self.gm)
|
||||
self.client.post("/api/v1/active-sites/", {"code": "sukawarna"}, format="json")
|
||||
listed = self.client.get("/api/v1/sites/")
|
||||
self.assertEqual(listed.status_code, 200)
|
||||
row = next(r for r in listed.data["results"] if r["site_name"] == "Sukawarna")
|
||||
self.assertEqual(row["id"], "sukawarna-0001")
|
||||
self.assertIsInstance(row["id"], str)
|
||||
|
||||
def test_claim_unknown_code_404(self):
|
||||
self.client.force_authenticate(self.gm)
|
||||
@@ -191,7 +203,10 @@ class ClaimActiveSiteTests(TestCase):
|
||||
self.active.source_site_id = "sukawarna-0001"
|
||||
self.active.save(update_fields=["managed_by", "source_site_id"])
|
||||
hq_site = Site.objects.create(
|
||||
site_name="Sukawarna", user=self.gm, active_site=self.active
|
||||
site_id="sukawarna-0001",
|
||||
site_name="Sukawarna",
|
||||
user=self.gm,
|
||||
active_site=self.active,
|
||||
)
|
||||
self.client.force_authenticate(self.gm)
|
||||
response = self.client.delete(f"/api/v1/active-sites/{self.active.pk}/")
|
||||
|
||||
Reference in new issue
Block a user