Skip to content

Commit aa5e9d9

Browse files
authored
Add setLanguages and testing (#89)
Co-authored-by: Bram Kaashoek <b.kaashoek@labdigital.nl>
1 parent a1511e7 commit aa5e9d9

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

CHANGES

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
8.1.3 (2020-06-10)
2+
------------------
3+
- Testing: add setLanguages to store testing backend
4+
5+
16
8.1.2 (2020-06-09)
27
------------------
38
- Testing: Add upload_image handler for product testing service

src/commercetools/testing/stores.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import datetime
22
import typing
33
import uuid
4+
import copy
45

56
from commercetools import schemas, types
67
from commercetools.testing.abstract import BaseModel, ServiceBackend
@@ -25,6 +26,16 @@ def _create_from_draft(
2526
)
2627

2728

29+
def set_languages():
30+
def updater(self, obj, action):
31+
value = getattr(action, "languages")
32+
new = copy.deepcopy(obj)
33+
new["languages"] = value
34+
return new
35+
36+
return updater
37+
38+
2839
class StoresBackend(ServiceBackend):
2940
service_path = "stores"
3041
model_class = StoresModel
@@ -45,4 +56,7 @@ def urls(self):
4556
("^key=(?P<key>[^/]+)$", "POST", self.update_by_key),
4657
]
4758

48-
_actions = {"setName": update_attribute("name", "name")}
59+
_actions = {
60+
"setName": update_attribute("name", "name"),
61+
"setLanguages": set_languages(),
62+
}

tests/test_service_stores.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,17 @@ def store_draft():
1818
return types.StoreDraft(
1919
key="test store", name=types.LocalizedString({"en": "test store"})
2020
)
21+
22+
23+
def test_update_actions(commercetools_api, client, store_draft):
24+
store = client.stores.create(store_draft)
25+
26+
assert store.languages is None
27+
28+
store = client.stores.update_by_id(
29+
store.id,
30+
store.version,
31+
actions=[types.StoreSetLanguagesAction(languages=["en-US"])],
32+
)
33+
34+
assert store.languages == ["en-US"]

0 commit comments

Comments
 (0)