From 8605dd1768ddc2cb8d2f737f863f018305b13042 Mon Sep 17 00:00:00 2001 From: Robert Segal Date: Fri, 9 Jan 2026 09:45:42 -0700 Subject: [PATCH] Add e2e tests for billing journal sellers --- .../seller/test_async_journal_seller.py | 33 +++++++++++++++++++ .../seller/test_sync_journal_seller.py | 33 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 tests/e2e/billing/journal/seller/test_async_journal_seller.py create mode 100644 tests/e2e/billing/journal/seller/test_sync_journal_seller.py diff --git a/tests/e2e/billing/journal/seller/test_async_journal_seller.py b/tests/e2e/billing/journal/seller/test_async_journal_seller.py new file mode 100644 index 0000000..c17b963 --- /dev/null +++ b/tests/e2e/billing/journal/seller/test_async_journal_seller.py @@ -0,0 +1,33 @@ +import pytest + +from mpt_api_client.rql.query_builder import RQLQuery + +pytestmark = [pytest.mark.flaky] + + +@pytest.fixture +def journal_sellers(async_mpt_vendor, billing_journal_id): + # Note: relies on seeded e2e config for `billing_journal_id` + # (see e2e_config.test.json). Update seeds if this changes. + return async_mpt_vendor.billing.journals.sellers(billing_journal_id) + + +async def test_list_journal_sellers(journal_sellers): + limit = 10 + + result = await journal_sellers.fetch_page(limit=limit) + + assert len(result) > 0 + + +async def test_filter_journal_sellers(journal_sellers, seller_id): + select_fields = ["-period"] + filtered_sellers = ( + journal_sellers.filter(RQLQuery(id=seller_id)) + .filter(RQLQuery(name="E2E Seeded Seller")) + .select(*select_fields) + ) + + result = [seller async for seller in filtered_sellers.iterate()] + + assert len(result) == 1 diff --git a/tests/e2e/billing/journal/seller/test_sync_journal_seller.py b/tests/e2e/billing/journal/seller/test_sync_journal_seller.py new file mode 100644 index 0000000..bf400f4 --- /dev/null +++ b/tests/e2e/billing/journal/seller/test_sync_journal_seller.py @@ -0,0 +1,33 @@ +import pytest + +from mpt_api_client.rql.query_builder import RQLQuery + +pytestmark = [pytest.mark.flaky] + + +@pytest.fixture +def journal_sellers(mpt_vendor, billing_journal_id): + # Note: relies on seeded e2e config for `billing_journal_id` + # (see e2e_config.test.json). Update seeds if this changes. + return mpt_vendor.billing.journals.sellers(billing_journal_id) + + +def test_list_journal_sellers(journal_sellers): + limit = 10 + + result = journal_sellers.fetch_page(limit=limit) + + assert len(result) > 0 + + +def test_filter_journal_sellers(journal_sellers, seller_id): + select_fields = ["-period"] + filtered_sellers = ( + journal_sellers.filter(RQLQuery(id=seller_id)) + .filter(RQLQuery(name="E2E Seeded Seller")) + .select(*select_fields) + ) + + result = list(filtered_sellers.iterate()) + + assert len(result) == 1