def test_model_with_datetime_as_string(db): datetime = now().strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] flavor = Flavor(name="name1", datetime=datetime) expected = { "flavor": { "name": "name1", "label": "", "parent": None, "float_value": None, "decimal_value": None, "uuid": str(flavor.uuid), "date": None, "datetime": datetime, "time": None, "duration": None, "pk": None, } } actual = serializer.dumps({"flavor": flavor}) assert dicts_equal(expected, json.loads(actual))
def test_model_with_duration_as_string(db): duration = "-1 day, 19:00:00" flavor = Flavor(name="name1", duration=duration) expected = { "flavor": { "name": "name1", "label": "", "parent": None, "float_value": None, "decimal_value": None, "uuid": str(flavor.uuid), "date": None, "datetime": None, "time": None, "duration": "-1 19:00:00", "pk": None, } } actual = serializer.dumps({"flavor": flavor}) assert dicts_equal(expected, json.loads(actual))
def test_message_db_input_create(client): data = {"flavors": []} message = { "actionQueue": [ { "payload": { "model": "flavors", "db": { "pk": "", "name": "flavor" }, "fields": { "name": "Sugar Browning-Nutty" }, }, "type": "dbInput", }, { "type": "callMethod", "payload": { "name": "$refresh", "params": [] } }, ], "data": data, "checksum": generate_checksum(orjson.dumps(data)), "id": shortuuid.uuid()[:8], "epoch": time.time(), } assert Flavor.objects.all().count() == 0 response = client.post( "/message/tests.views.fake_components.FakeModelComponent", message, content_type="application/json", ) flavor = Flavor.objects.get(id=1) assert flavor.name == "Sugar Browning-Nutty" body = orjson.loads(response.content) expected = { "flavors": [{ "name": "Sugar Browning-Nutty", "label": "", "parent": None, "float_value": None, "decimal_value": None, "uuid": str(flavor.uuid), "datetime": None, "date": None, "time": None, "duration": None, "pk": 1, }] } assert not body["errors"] assert dicts_equal(expected, body["data"])
def test_message_db_input_update(client): flavor = Flavor(id=1, name="Enzymatic-Flowery") flavor.save() data = {"flavors": [{"pk": flavor.pk, "title": flavor.name}]} message = { "actionQueue": [ { "payload": { "model": "flavors", "db": { "pk": flavor.pk, "name": "flavor" }, "fields": { "name": "Flowery-Floral" }, }, "type": "dbInput", }, { "type": "callMethod", "payload": { "name": "$refresh", "params": [] } }, ], "data": data, "checksum": generate_checksum(orjson.dumps(data)), "id": shortuuid.uuid()[:8], "epoch": time.time(), } response = client.post( "/message/tests.views.fake_components.FakeModelComponent", message, content_type="application/json", ) flavor = Flavor.objects.get(id=1) assert flavor.name == "Flowery-Floral" body = orjson.loads(response.content) assert not body["errors"] expected = { "flavors": [{ "pk": 1, "name": "Flowery-Floral", "decimal_value": None, "float_value": None, "label": "", "parent": None, "uuid": str(flavor.uuid), "datetime": None, "date": None, "time": None, "duration": None, }] } assert dicts_equal(expected, body["data"])