Skip to content

Commit be0c9fc

Browse files
author
Robert Segal
committed
Added e2e tests for commerce credit memos
1 parent 9879263 commit be0c9fc

File tree

3 files changed

+116
-0
lines changed

3 files changed

+116
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import pytest
2+
3+
4+
@pytest.fixture
5+
def invalid_credit_memo_id():
6+
return "CRD-0000-0000-0000-0000"
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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+
@pytest.fixture
10+
async def credit_memos(async_mpt_ops):
11+
limit = 1
12+
return await async_mpt_ops.billing.credit_memos.fetch_page(limit=limit)
13+
14+
15+
@pytest.fixture
16+
def credit_memo(credit_memos):
17+
if credit_memos:
18+
return credit_memos[0]
19+
return None
20+
21+
22+
async def test_get_credit_memo_by_id(async_mpt_ops, credit_memo):
23+
credit_memo_id = credit_memo.id if credit_memo else ""
24+
25+
result = await async_mpt_ops.billing.credit_memos.get(credit_memo_id)
26+
27+
assert result is not None
28+
29+
30+
async def test_get_credit_memo_by_id_not_found(async_mpt_ops, invalid_credit_memo_id):
31+
with pytest.raises(MPTAPIError, match=r"404 Not Found"):
32+
await async_mpt_ops.billing.credit_memos.get(invalid_credit_memo_id)
33+
34+
35+
async def test_list_credit_memos(async_mpt_ops):
36+
limit = 10
37+
38+
result = await async_mpt_ops.billing.credit_memos.fetch_page(limit=limit)
39+
40+
assert len(result) > 0
41+
42+
43+
async def test_filter_credit_memos(async_mpt_ops, credit_memo):
44+
credit_memo_id = credit_memo.id if credit_memo else ""
45+
credit_memo_status = credit_memo.status if credit_memo else ""
46+
select_fields = ["-vendor"]
47+
filtered_credit_memos = (
48+
async_mpt_ops.billing.credit_memos.filter(RQLQuery(id=credit_memo_id))
49+
.filter(RQLQuery(status=credit_memo_status))
50+
.select(*select_fields)
51+
)
52+
53+
result = [credit_memo async for credit_memo in filtered_credit_memos.iterate()]
54+
55+
assert len(result) == 1
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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+
@pytest.fixture
10+
def credit_memos(mpt_ops):
11+
limit = 1
12+
return mpt_ops.billing.credit_memos.fetch_page(limit=limit)
13+
14+
15+
@pytest.fixture
16+
def credit_memo(credit_memos):
17+
if credit_memos:
18+
return credit_memos[0]
19+
return None
20+
21+
22+
def test_get_credit_memo_by_id(mpt_ops, credit_memo):
23+
credit_memo_id = credit_memo.id if credit_memo else ""
24+
25+
result = mpt_ops.billing.credit_memos.get(credit_memo_id)
26+
27+
assert result is not None
28+
29+
30+
def test_get_credit_memo_by_id_not_found(mpt_ops, invalid_credit_memo_id):
31+
with pytest.raises(MPTAPIError, match=r"404 Not Found"):
32+
mpt_ops.billing.credit_memos.get(invalid_credit_memo_id)
33+
34+
35+
def test_list_credit_memos(mpt_ops):
36+
limit = 10
37+
38+
result = mpt_ops.billing.credit_memos.fetch_page(limit=limit)
39+
40+
assert len(result) > 0
41+
42+
43+
def test_filter_credit_memos(mpt_ops, credit_memo):
44+
credit_memo_id = credit_memo.id if credit_memo else ""
45+
credit_memo_status = credit_memo.status if credit_memo else ""
46+
select_fields = ["-vendor"]
47+
filtered_credit_memos = (
48+
mpt_ops.billing.credit_memos.filter(RQLQuery(id=credit_memo_id))
49+
.filter(RQLQuery(status=credit_memo_status))
50+
.select(*select_fields)
51+
)
52+
53+
result = list(filtered_credit_memos.iterate())
54+
55+
assert len(result) == 1

0 commit comments

Comments
 (0)