Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion e2e_config.test.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"catalog.product.id": "PRD-7255-3950",
"accounts.seller.id": "SEL-7310-3075"
"accounts.seller.id": "SEL-7310-3075",
"catalog.product.parameter_group.id": "PGR-7255-3950-0001"
}
4 changes: 2 additions & 2 deletions seed/catalog/product_parameters_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

logger = logging.getLogger(__name__)

namespace = "catalog.parameter_group"
namespace = "catalog.product.parameter_group"


@inject
Expand Down Expand Up @@ -39,7 +39,7 @@ async def get_parameter_group(
def build_parameter_group(context: Context = DEFAULT_CONTEXT) -> dict[str, Any]:
"""Build parameter group data dictionary."""
return {
"name": "Parameter group",
"name": "e2e - seed",
"label": "Parameter group label",
"displayOrder": 100,
}
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/accounts/test_async_sellers.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ async def _async_created_seller(
try:
await async_mpt_ops.accounts.sellers.delete(ret_seller.id)
except MPTAPIError:
logger.exception("TEARDOWN - Unable to delete seller %s", ret_seller.id)
print(f"TEARDOWN - Unable to delete seller {ret_seller.id}") # noqa: WPS421


async def test_get_seller_by_id(async_mpt_ops, seller_id):
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/accounts/test_sync_sellers.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def _created_seller(
try:
mpt_ops.accounts.sellers.delete(ret_seller.id)
except MPTAPIError:
logger.exception("TEARDOWN - Unable to delete seller %s", ret_seller.id)
print(f"TEARDOWN - Unable to delete seller {ret_seller.id}") # noqa: WPS421


def test_get_seller_by_id(mpt_ops, seller_id):
Expand Down
15 changes: 15 additions & 0 deletions tests/e2e/catalog/product/parameter_groups/conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import pytest


@pytest.fixture
def parameter_group_id(e2e_config):
return e2e_config["catalog.product.parameter_group.id"]


@pytest.fixture
def parameter_group_data():
return {
"name": "e2e - please delete",
"label": "e2e - please delete",
"displayOrder": 100,
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import pytest

from mpt_api_client.exceptions import MPTAPIError


@pytest.fixture
async def async_created_parameter_group(logger, async_mpt_vendor, product_id, parameter_group_data):
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
group = await service.create(parameter_group_data)
yield group
try:
await service.delete(group.id)
except MPTAPIError as error:
print(f"TEARDOWN - Unable to delete parameter group {group.id}: {error.title}") # noqa: WPS421


@pytest.mark.flaky
def test_create_parameter_group(async_created_parameter_group):
assert async_created_parameter_group.name == "e2e - please delete"


@pytest.mark.flaky
async def test_update_parameter_group(async_mpt_vendor, product_id, async_created_parameter_group):
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
update_data = {"name": "e2e - delete me (updated)"}
group = await service.update(async_created_parameter_group.id, update_data)
assert group.name == "e2e - delete me (updated)"


@pytest.mark.flaky
async def test_get_parameter_group(async_mpt_vendor, product_id, parameter_group_id):
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
group = await service.get(parameter_group_id)
assert group.id == parameter_group_id


@pytest.mark.flaky
async def test_iterate_parameter_groups(
async_mpt_vendor, product_id, async_created_parameter_group
):
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
groups = [group async for group in service.iterate()]
assert any(group.id == async_created_parameter_group.id for group in groups)


@pytest.mark.flaky
async def test_delete_parameter_group(async_mpt_vendor, product_id, async_created_parameter_group):
service = async_mpt_vendor.catalog.products.parameter_groups(product_id)
await service.delete(async_created_parameter_group.id)
with pytest.raises(MPTAPIError):
await service.get(async_created_parameter_group.id)
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import pytest

from mpt_api_client.exceptions import MPTAPIError


@pytest.fixture
def created_parameter_group(logger, mpt_vendor, product_id, parameter_group_data):
service = mpt_vendor.catalog.products.parameter_groups(product_id)
group = service.create(parameter_group_data)
yield group
try:
service.delete(group.id)
except MPTAPIError as error:
print(f"TEARDOWN - Unable to delete parameter group {group.id}: {error.title}") # noqa: WPS421


@pytest.mark.flaky
def test_create_parameter_group(created_parameter_group):
assert created_parameter_group.name == "e2e - please delete"


@pytest.mark.flaky
def test_update_parameter_group(mpt_vendor, product_id, created_parameter_group):
service = mpt_vendor.catalog.products.parameter_groups(product_id)
update_data = {"name": "please delete me"}
group = service.update(created_parameter_group.id, update_data)
assert group.name == "please delete me"


@pytest.mark.flaky
def test_get_parameter_group_get(mpt_vendor, product_id, parameter_group_id):
service = mpt_vendor.catalog.products.parameter_groups(product_id)
group = service.get(parameter_group_id)
assert group.id == parameter_group_id


@pytest.mark.flaky
def test_iterate_parameter_groups(mpt_vendor, product_id, created_parameter_group):
service = mpt_vendor.catalog.products.parameter_groups(product_id)
groups = list(service.iterate())
assert any(group.id == created_parameter_group.id for group in groups)


@pytest.mark.flaky
def test_delete_parameter_group(mpt_vendor, product_id, created_parameter_group):
service = mpt_vendor.catalog.products.parameter_groups(product_id)
service.delete(created_parameter_group.id)
with pytest.raises(MPTAPIError):
service.get(created_parameter_group.id)
2 changes: 1 addition & 1 deletion tests/e2e/catalog/product/test_async_product.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ async def async_created_product(logger, async_mpt_vendor, product_data, product_
try:
await async_mpt_vendor.catalog.products.delete(product.id)
except MPTAPIError as error:
logger.exception("TEARDOWN - Unable to delete product %s: %s", product.id, error.title)
print(f"TEARDOWN - Unable to delete product {product.id}: {error.title}") # noqa: WPS421


@pytest.mark.flaky
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/catalog/product/test_sync_product.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def created_product(logger, mpt_vendor, product_data, product_icon):
try:
mpt_vendor.catalog.products.delete(product.id)
except MPTAPIError as error:
logger.exception("TEARDOWN - Unable to delete product %s: %s", product.id, error.title)
print(f"TEARDOWN - Unable to delete product {product.id}: {error.title}") # noqa: WPS421


@pytest.mark.flaky
Expand Down
10 changes: 5 additions & 5 deletions tests/seed/catalog/test_product_parameters_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@ def parameter_groups_service():
async def test_get_parameter_group(
context: Context, vendor_client, parameter_groups_service, parameter_group
) -> None:
context["catalog.parameter_group.id"] = parameter_group.id
context["catalog.product.parameter_group.id"] = parameter_group.id
context["catalog.product.id"] = "product-123"
parameter_groups_service.get.return_value = parameter_group
vendor_client.catalog.products.parameter_groups.return_value = parameter_groups_service

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

assert fetched_parameter_group == parameter_group
assert context.get("catalog.parameter_group.id") == parameter_group.id
assert context.get(f"catalog.parameter_group[{parameter_group.id}]") == parameter_group
assert context.get("catalog.product.parameter_group.id") == parameter_group.id
assert context.get(f"catalog.product.parameter_group[{parameter_group.id}]") == parameter_group


async def test_get_parameter_group_without_id(context: Context) -> None:
Expand Down Expand Up @@ -86,8 +86,8 @@ async def test_create_parameter_group_success(
created = await create_parameter_group(context=context, mpt_vendor=vendor_client)

assert created == parameter_group
assert context.get("catalog.parameter_group.id") == parameter_group.id
assert context.get(f"catalog.parameter_group[{parameter_group.id}]") == parameter_group
assert context.get("catalog.product.parameter_group.id") == parameter_group.id
assert context.get(f"catalog.product.parameter_group[{parameter_group.id}]") == parameter_group


async def test_seed_parameter_group() -> None:
Expand Down