Skip to content

Commit c450006

Browse files
committed
MPT-14885 E2E parameter groups
1 parent 8e04835 commit c450006

File tree

10 files changed

+128
-12
lines changed

10 files changed

+128
-12
lines changed

e2e_config.test.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"catalog.product.id": "PRD-7255-3950",
3-
"accounts.seller.id": "SEL-7310-3075"
3+
"accounts.seller.id": "SEL-7310-3075",
4+
"catalog.product.parameter_group.id": "PGR-7255-3950-0001"
45
}

seed/catalog/product_parameters_group.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
logger = logging.getLogger(__name__)
1212

13-
namespace = "catalog.parameter_group"
13+
namespace = "catalog.product.parameter_group"
1414

1515

1616
@inject
@@ -39,7 +39,7 @@ async def get_parameter_group(
3939
def build_parameter_group(context: Context = DEFAULT_CONTEXT) -> dict[str, Any]:
4040
"""Build parameter group data dictionary."""
4141
return {
42-
"name": "Parameter group",
42+
"name": "e2e - seed",
4343
"label": "Parameter group label",
4444
"displayOrder": 100,
4545
}

tests/e2e/accounts/test_async_sellers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ async def _async_created_seller(
2626
try:
2727
await async_mpt_ops.accounts.sellers.delete(ret_seller.id)
2828
except MPTAPIError:
29-
logger.exception("TEARDOWN - Unable to delete seller %s", ret_seller.id)
29+
print(f"TEARDOWN - Unable to delete seller {ret_seller.id}") # noqa: WPS421
3030

3131

3232
async def test_get_seller_by_id(async_mpt_ops, seller_id):

tests/e2e/accounts/test_sync_sellers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def _created_seller(
2525
try:
2626
mpt_ops.accounts.sellers.delete(ret_seller.id)
2727
except MPTAPIError:
28-
logger.exception("TEARDOWN - Unable to delete seller %s", ret_seller.id)
28+
print(f"TEARDOWN - Unable to delete seller {ret_seller.id}") # noqa: WPS421
2929

3030

3131
def test_get_seller_by_id(mpt_ops, seller_id):
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import pytest
2+
3+
4+
@pytest.fixture
5+
def parameter_group_id(e2e_config):
6+
return e2e_config["catalog.product.parameter_group.id"]
7+
8+
9+
@pytest.fixture
10+
def parameter_group_data():
11+
return {
12+
"name": "e2e - please delete",
13+
"label": "e2e - please delete",
14+
"displayOrder": 100,
15+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import pytest
2+
3+
from mpt_api_client.exceptions import MPTAPIError
4+
5+
6+
@pytest.fixture
7+
async def async_created_parameter_group(logger, async_mpt_vendor, product_id, parameter_group_data):
8+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
9+
group = await service.create(parameter_group_data)
10+
yield group
11+
try:
12+
await service.delete(group.id)
13+
except MPTAPIError as error:
14+
print(f"TEARDOWN - Unable to delete parameter group {group.id}: {error.title}") # noqa: WPS421
15+
16+
17+
@pytest.mark.flaky
18+
def test_create_parameter_group(async_created_parameter_group):
19+
assert async_created_parameter_group.name == "e2e - please delete"
20+
21+
22+
@pytest.mark.flaky
23+
async def test_update_parameter_group(async_mpt_vendor, product_id, async_created_parameter_group):
24+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
25+
update_data = {"name": "e2e - delete me (updated)"}
26+
group = await service.update(async_created_parameter_group.id, update_data)
27+
assert group.name == "e2e - delete me (updated)"
28+
29+
30+
@pytest.mark.flaky
31+
async def test_get_parameter_group(async_mpt_vendor, product_id, parameter_group_id):
32+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
33+
group = await service.get(parameter_group_id)
34+
assert group.id == parameter_group_id
35+
36+
37+
@pytest.mark.flaky
38+
async def test_iterate_parameter_groups(
39+
async_mpt_vendor, product_id, async_created_parameter_group
40+
):
41+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
42+
groups = [group async for group in service.iterate()]
43+
assert any(group.id == async_created_parameter_group.id for group in groups)
44+
45+
46+
@pytest.mark.flaky
47+
async def test_delete_parameter_group(async_mpt_vendor, product_id, async_created_parameter_group):
48+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
49+
await service.delete(async_created_parameter_group.id)
50+
with pytest.raises(MPTAPIError):
51+
await service.get(async_created_parameter_group.id)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import pytest
2+
3+
from mpt_api_client.exceptions import MPTAPIError
4+
5+
6+
@pytest.fixture
7+
def created_parameter_group(logger, mpt_vendor, product_id, parameter_group_data):
8+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
9+
group = service.create(parameter_group_data)
10+
yield group
11+
try:
12+
service.delete(group.id)
13+
except MPTAPIError as error:
14+
print(f"TEARDOWN - Unable to delete parameter group {group.id}: {error.title}") # noqa: WPS421
15+
16+
17+
@pytest.mark.flaky
18+
def test_create_parameter_group(created_parameter_group):
19+
assert created_parameter_group.name == "e2e - please delete"
20+
21+
22+
@pytest.mark.flaky
23+
def test_update_parameter_group(mpt_vendor, product_id, created_parameter_group):
24+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
25+
update_data = {"name": "please delete me"}
26+
group = service.update(created_parameter_group.id, update_data)
27+
assert group.name == "please delete me"
28+
29+
30+
@pytest.mark.flaky
31+
def test_get_parameter_group_get(mpt_vendor, product_id, parameter_group_id):
32+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
33+
group = service.get(parameter_group_id)
34+
assert group.id == parameter_group_id
35+
36+
37+
@pytest.mark.flaky
38+
def test_iterate_parameter_groups(mpt_vendor, product_id, created_parameter_group):
39+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
40+
groups = list(service.iterate())
41+
assert any(group.id == created_parameter_group.id for group in groups)
42+
43+
44+
@pytest.mark.flaky
45+
def test_delete_parameter_group(mpt_vendor, product_id, created_parameter_group):
46+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
47+
service.delete(created_parameter_group.id)
48+
with pytest.raises(MPTAPIError):
49+
service.get(created_parameter_group.id)

tests/e2e/catalog/product/test_async_product.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ async def async_created_product(logger, async_mpt_vendor, product_data, product_
1313
try:
1414
await async_mpt_vendor.catalog.products.delete(product.id)
1515
except MPTAPIError as error:
16-
logger.exception("TEARDOWN - Unable to delete product %s: %s", product.id, error.title)
16+
print(f"TEARDOWN - Unable to delete product {product.id}: {error.title}") # noqa: WPS421
1717

1818

1919
@pytest.mark.flaky

tests/e2e/catalog/product/test_sync_product.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def created_product(logger, mpt_vendor, product_data, product_icon):
1313
try:
1414
mpt_vendor.catalog.products.delete(product.id)
1515
except MPTAPIError as error:
16-
logger.exception("TEARDOWN - Unable to delete product %s: %s", product.id, error.title)
16+
print(f"TEARDOWN - Unable to delete product {product.id}: {error.title}") # noqa: WPS421
1717

1818

1919
@pytest.mark.flaky

tests/seed/catalog/test_product_parameters_group.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@ def parameter_groups_service():
2929
async def test_get_parameter_group(
3030
context: Context, vendor_client, parameter_groups_service, parameter_group
3131
) -> None:
32-
context["catalog.parameter_group.id"] = parameter_group.id
32+
context["catalog.product.parameter_group.id"] = parameter_group.id
3333
context["catalog.product.id"] = "product-123"
3434
parameter_groups_service.get.return_value = parameter_group
3535
vendor_client.catalog.products.parameter_groups.return_value = parameter_groups_service
3636

3737
fetched_parameter_group = await get_parameter_group(context=context, mpt_vendor=vendor_client)
3838

3939
assert fetched_parameter_group == parameter_group
40-
assert context.get("catalog.parameter_group.id") == parameter_group.id
41-
assert context.get(f"catalog.parameter_group[{parameter_group.id}]") == parameter_group
40+
assert context.get("catalog.product.parameter_group.id") == parameter_group.id
41+
assert context.get(f"catalog.product.parameter_group[{parameter_group.id}]") == parameter_group
4242

4343

4444
async def test_get_parameter_group_without_id(context: Context) -> None:
@@ -86,8 +86,8 @@ async def test_create_parameter_group_success(
8686
created = await create_parameter_group(context=context, mpt_vendor=vendor_client)
8787

8888
assert created == parameter_group
89-
assert context.get("catalog.parameter_group.id") == parameter_group.id
90-
assert context.get(f"catalog.parameter_group[{parameter_group.id}]") == parameter_group
89+
assert context.get("catalog.product.parameter_group.id") == parameter_group.id
90+
assert context.get(f"catalog.product.parameter_group[{parameter_group.id}]") == parameter_group
9191

9292

9393
async def test_seed_parameter_group() -> None:

0 commit comments

Comments
 (0)