From de6c9f3b849bf5641ac81d981086a4a0d4ef4cb8 Mon Sep 17 00:00:00 2001 From: Yohan Boniface Date: Fri, 6 Oct 2023 22:25:56 +0200 Subject: [PATCH] Make sure we don't use DataLayer.settings by reference --- umap/tests/base.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/umap/tests/base.py b/umap/tests/base.py index 04d7da47..1076275e 100644 --- a/umap/tests/base.py +++ b/umap/tests/base.py @@ -1,4 +1,5 @@ import json +import copy import factory from django.contrib.auth import get_user_model @@ -102,13 +103,16 @@ class DataLayerFactory(factory.django.DjangoModelFactory): name = "test datalayer" description = "test description" display_on_load = True - settings = {"displayOnLoad": True, "browsable": True, "name": name} + settings = factory.Dict({"displayOnLoad": True, "browsable": True, "name": name}) @classmethod def _adjust_kwargs(cls, **kwargs): - data = kwargs.pop("data", DATALAYER_DATA).copy() + data = kwargs.pop("data", copy.deepcopy(DATALAYER_DATA)) kwargs["settings"]["name"] = kwargs["name"] - data["_umap_options"] = kwargs["settings"] + data["_umap_options"] = { + **DataLayerFactory.settings._defaults, + **kwargs["settings"], + } kwargs["geojson"] = ContentFile(json.dumps(data), "foo.json") return kwargs