Skip to content

Commit 67daecc

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

File tree

9 files changed

+107
-7
lines changed

9 files changed

+107
-7
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": "Parameter group e2e",
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}")
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}")
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: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import pytest
2+
from mpt_api_client.exceptions import MPTAPIError
3+
4+
@pytest.fixture
5+
async def async_created_parameter_group(logger, async_mpt_vendor, product_id, parameter_group_data):
6+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
7+
group = await service.create(parameter_group_data)
8+
yield group
9+
try:
10+
await service.delete(group.id)
11+
except MPTAPIError as error:
12+
print(f"TEARDOWN - Unable to delete parameter group {group.id}: {error.title}")
13+
14+
@pytest.mark.flaky
15+
async def test_create_parameter_group(async_created_parameter_group):
16+
assert async_created_parameter_group.name == "e2e - please delete"
17+
18+
@pytest.mark.flaky
19+
async def test_update_parameter_group(async_mpt_vendor, product_id, async_created_parameter_group):
20+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
21+
update_data = {"name": "e2e - delete me (updated)"}
22+
group = await service.update(async_created_parameter_group.id, update_data)
23+
assert group.name == "e2e - delete me (updated)"
24+
25+
@pytest.mark.flaky
26+
async def test_get_parameter_group(async_mpt_vendor, product_id, parameter_group_id):
27+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
28+
group = await service.get(parameter_group_id)
29+
assert group.id == parameter_group_id
30+
31+
@pytest.mark.flaky
32+
async def test_iterate_parameter_groups(async_mpt_vendor, product_id, async_created_parameter_group):
33+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
34+
groups = [g async for g in service.iterate()]
35+
assert any(g.id == async_created_parameter_group.id for g in groups)
36+
37+
@pytest.mark.flaky
38+
async def test_delete_parameter_group(async_mpt_vendor, product_id, async_created_parameter_group):
39+
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
40+
await service.delete(async_created_parameter_group.id)
41+
with pytest.raises(MPTAPIError):
42+
await service.get(async_created_parameter_group.id)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import pytest
2+
from mpt_api_client.exceptions import MPTAPIError
3+
4+
@pytest.fixture
5+
def created_parameter_group(logger, mpt_vendor, product_id, parameter_group_data):
6+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
7+
group = service.create(parameter_group_data)
8+
yield group
9+
try:
10+
service.delete(group.id)
11+
except MPTAPIError as error:
12+
print(f"TEARDOWN - Unable to delete parameter group {group.id}: {error.title}")
13+
14+
@pytest.mark.flaky
15+
def test_create_parameter_group(created_parameter_group):
16+
assert created_parameter_group.name == "e2e - please delete"
17+
18+
@pytest.mark.flaky
19+
def test_update_parameter_group(mpt_vendor, product_id, created_parameter_group):
20+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
21+
update_data = {"name": "please delete me"}
22+
group = service.update(created_parameter_group.id, update_data)
23+
assert group.name == "please delete me"
24+
25+
@pytest.mark.flaky
26+
def test_get_parameter_group_get(mpt_vendor, product_id, parameter_group_id):
27+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
28+
group = service.get(parameter_group_id)
29+
assert group.id == parameter_group_id
30+
31+
@pytest.mark.flaky
32+
def test_iterate_parameter_groups(mpt_vendor, product_id, created_parameter_group):
33+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
34+
groups = list(service.iterate())
35+
assert any(g.id == created_parameter_group.id for g in groups)
36+
37+
@pytest.mark.flaky
38+
def test_delete_parameter_group(mpt_vendor, product_id, created_parameter_group):
39+
service = mpt_vendor.catalog.products.parameter_groups(product_id)
40+
service.delete(created_parameter_group.id)
41+
with pytest.raises(MPTAPIError):
42+
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}")
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}")
1717

1818

1919
@pytest.mark.flaky

0 commit comments

Comments
 (0)