Docker Image and first iteration
This commit is contained in:
1 parent
723b64b1c4
commit
bd9209ebb7
40 files changed
+26643
No files matched your search
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
from showcase.models import PortfolioEntry, Region
|
||||
|
||||
|
||||
class MapRegionsViewTests(TestCase):
|
||||
def setUp(self):
|
||||
self.us = Region.objects.get(code="USA")
|
||||
self.california = Region.objects.get(code="US-CA")
|
||||
self.canada = Region.objects.get(code="CAN")
|
||||
|
||||
def regions_by_code(self):
|
||||
response = self.client.get(reverse("map-regions"))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
return {region["code"]: region for region in response.json()["regions"]}
|
||||
|
||||
def test_homepage_contains_map_mount(self):
|
||||
response = self.client.get(reverse("home"))
|
||||
|
||||
self.assertContains(response, 'id="portfolio-map-root"')
|
||||
self.assertContains(response, "showcase/dist/map.js")
|
||||
|
||||
def test_api_returns_seeded_regions_with_empty_entries(self):
|
||||
regions = self.regions_by_code()
|
||||
|
||||
self.assertIn("USA", regions)
|
||||
self.assertIn("CAN", regions)
|
||||
self.assertIn("US-CA", regions)
|
||||
self.assertEqual(regions["US-CA"]["parentCode"], "USA")
|
||||
self.assertEqual(regions["USA"]["entries"], [])
|
||||
|
||||
def test_country_aggregates_subdivision_entries_and_deduplicates(self):
|
||||
entry = PortfolioEntry.objects.create(
|
||||
entry_type=PortfolioEntry.EntryType.WORK,
|
||||
title="West Coast delivery",
|
||||
summary="Delivered a regional engagement.",
|
||||
is_published=True,
|
||||
)
|
||||
entry.regions.add(self.us, self.california)
|
||||
|
||||
regions = self.regions_by_code()
|
||||
|
||||
self.assertEqual(len(regions["USA"]["entries"]), 1)
|
||||
self.assertEqual(regions["US-CA"]["entries"][0]["title"], entry.title)
|
||||
|
||||
def test_api_excludes_unpublished_entries(self):
|
||||
entry = PortfolioEntry.objects.create(
|
||||
entry_type=PortfolioEntry.EntryType.CV,
|
||||
title="Draft entry",
|
||||
summary="Not visible yet.",
|
||||
is_published=False,
|
||||
)
|
||||
entry.regions.add(self.canada)
|
||||
|
||||
regions = self.regions_by_code()
|
||||
|
||||
self.assertEqual(regions["CAN"]["entries"], [])
|
||||
|
||||
Reference in new issue
Block a user