Skip to content

Commit 1ec8ae9

Browse files
author
Robert Segal
committed
Added e2e tests for billing overrides
1 parent 9db273b commit 1ec8ae9

File tree

4 files changed

+88
-0
lines changed

4 files changed

+88
-0
lines changed

e2e_config.test.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"billing.ledger.attachment.id": "LEA-4971-4321",
2222
"billing.ledger.charge.id": "CHG-2589-1434-0000-0000-0200",
2323
"billing.ledger.id": "BLE-2589-1434-7310-3075",
24+
"billing.override.id": "BOV-7202-7714",
2425
"billing.statement.charge.id": "CHG-2589-1434-0000-0000-0200",
2526
"billing.statement.id": "SOM-7311-9982-9805-9250",
2627
"catalog.authorization.id": "AUT-9288-6146",
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import pytest
2+
3+
4+
@pytest.fixture
5+
def billing_override_id(e2e_config):
6+
return e2e_config["billing.override.id"]
7+
8+
9+
@pytest.fixture
10+
def invalid_billing_override_id():
11+
return "BOV-0000-0000"
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import pytest
2+
3+
from mpt_api_client.exceptions import MPTAPIError
4+
from mpt_api_client.rql.query_builder import RQLQuery
5+
6+
pytestmark = [pytest.mark.flaky]
7+
8+
9+
async def test_get_billing_override_by_id(async_mpt_ops, billing_override_id):
10+
result = await async_mpt_ops.billing.manual_overrides.get(billing_override_id)
11+
12+
assert result is not None
13+
14+
15+
async def test_list_billing_overrides(async_mpt_ops):
16+
limit = 10
17+
18+
result = await async_mpt_ops.billing.manual_overrides.fetch_page(limit=limit)
19+
20+
assert len(result) > 0
21+
22+
23+
async def test_get_billing_override_by_id_not_found(async_mpt_ops, invalid_billing_override_id):
24+
with pytest.raises(MPTAPIError, match=r"404 Not Found"):
25+
await async_mpt_ops.billing.manual_overrides.get(invalid_billing_override_id)
26+
27+
28+
async def test_filter_billing_overrides(async_mpt_ops, billing_override_id):
29+
select_fields = ["-client"]
30+
filtered_billing_overrides = (
31+
async_mpt_ops.billing.manual_overrides.filter(RQLQuery(id=billing_override_id))
32+
.filter(RQLQuery(externalId="e2e-seeded-override"))
33+
.select(*select_fields)
34+
)
35+
36+
result = [override async for override in filtered_billing_overrides.iterate()]
37+
38+
assert len(result) == 1
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import pytest
2+
3+
from mpt_api_client.exceptions import MPTAPIError
4+
from mpt_api_client.rql.query_builder import RQLQuery
5+
6+
pytestmark = [pytest.mark.flaky]
7+
8+
9+
def test_get_billing_override_by_id(mpt_ops, billing_override_id):
10+
result = mpt_ops.billing.manual_overrides.get(billing_override_id)
11+
12+
assert result is not None
13+
14+
15+
def test_list_billing_overrides(mpt_ops):
16+
limit = 10
17+
18+
result = mpt_ops.billing.manual_overrides.fetch_page(limit=limit)
19+
20+
assert len(result) > 0
21+
22+
23+
def test_get_billing_override_by_id_not_found(mpt_ops, invalid_billing_override_id):
24+
with pytest.raises(MPTAPIError, match=r"404 Not Found"):
25+
mpt_ops.billing.manual_overrides.get(invalid_billing_override_id)
26+
27+
28+
def test_filter_billing_overrides(mpt_ops, billing_override_id):
29+
select_fields = ["-client"]
30+
filtered_billing_overrides = (
31+
mpt_ops.billing.manual_overrides.filter(RQLQuery(id=billing_override_id))
32+
.filter(RQLQuery(externalId="e2e-seeded-override"))
33+
.select(*select_fields)
34+
)
35+
36+
result = list(filtered_billing_overrides.iterate())
37+
38+
assert len(result) == 1

0 commit comments

Comments
 (0)