Skip to content

Commit 7586715

Browse files
albertsolaCopilot
andcommitted
MPT-19904: add e2e tests for /public/v1/integration/extensions/{extensionId}/documents
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent f7cf0b2 commit 7586715

File tree

4 files changed

+151
-0
lines changed

4 files changed

+151
-0
lines changed

tests/e2e/integration/extension_documents/__init__.py

Whitespace-only changes.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import pytest
2+
3+
from mpt_api_client.exceptions import MPTAPIError
4+
5+
6+
@pytest.fixture(scope="session")
7+
def extension_id(e2e_config):
8+
return e2e_config["integration.extension.id"]
9+
10+
11+
@pytest.fixture
12+
def extension_documents_service(mpt_vendor, extension_id):
13+
return mpt_vendor.integration.extensions.documents(extension_id)
14+
15+
16+
@pytest.fixture
17+
def async_extension_documents_service(async_mpt_vendor, extension_id):
18+
return async_mpt_vendor.integration.extensions.documents(extension_id)
19+
20+
21+
@pytest.fixture
22+
def document_data(short_uuid):
23+
return {
24+
"name": f"e2e - please delete {short_uuid}",
25+
"description": "Created by automated E2E tests. Safe to delete.",
26+
"language": "en-US",
27+
"documentType": "Online",
28+
"url": "https://example.com/terms",
29+
}
30+
31+
32+
@pytest.fixture
33+
def created_document(extension_documents_service, document_data):
34+
document = extension_documents_service.create(document_data)
35+
36+
yield document
37+
38+
try:
39+
extension_documents_service.delete(document.id)
40+
except MPTAPIError as error:
41+
print(f"TEARDOWN - Unable to delete document {document.id}: {error.title}") # noqa: WPS421
42+
43+
44+
@pytest.fixture
45+
async def async_created_document(async_extension_documents_service, document_data):
46+
document = await async_extension_documents_service.create(document_data)
47+
48+
yield document
49+
50+
try:
51+
await async_extension_documents_service.delete(document.id)
52+
except MPTAPIError as error:
53+
print(f"TEARDOWN - Unable to delete document {document.id}: {error.title}") # noqa: WPS421
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import pytest
2+
3+
from tests.e2e.helper import assert_async_service_filter_with_iterate
4+
5+
pytestmark = [
6+
pytest.mark.flaky,
7+
]
8+
9+
10+
def test_create_extension_document(async_created_document, document_data):
11+
result = async_created_document.name
12+
13+
assert result == document_data["name"]
14+
15+
16+
async def test_filter_extension_documents(
17+
async_extension_documents_service, async_created_document
18+
):
19+
await assert_async_service_filter_with_iterate(
20+
async_extension_documents_service, async_created_document.id, None
21+
) # act
22+
23+
24+
async def test_update_extension_document(
25+
async_extension_documents_service, async_created_document, short_uuid
26+
):
27+
update_data = {"name": f"e2e updated {short_uuid}"}
28+
29+
result = await async_extension_documents_service.update(async_created_document.id, update_data)
30+
31+
assert result.name == update_data["name"]
32+
33+
34+
async def test_publish_extension_document(
35+
async_extension_documents_service, async_created_document
36+
):
37+
result = await async_extension_documents_service.publish(async_created_document.id)
38+
39+
assert result.status == "Published"
40+
41+
42+
async def test_unpublish_extension_document(
43+
async_extension_documents_service, async_created_document
44+
):
45+
await async_extension_documents_service.publish(async_created_document.id)
46+
47+
result = await async_extension_documents_service.unpublish(async_created_document.id)
48+
49+
assert result.status == "Unpublished"
50+
51+
52+
async def test_delete_extension_document(async_extension_documents_service, async_created_document):
53+
await async_extension_documents_service.delete(async_created_document.id) # act
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import pytest
2+
3+
from tests.e2e.helper import assert_service_filter_with_iterate
4+
5+
pytestmark = [
6+
pytest.mark.flaky,
7+
]
8+
9+
10+
def test_create_extension_document(created_document, document_data):
11+
result = created_document.name
12+
13+
assert result == document_data["name"]
14+
15+
16+
def test_filter_extension_documents(extension_documents_service, created_document):
17+
assert_service_filter_with_iterate(
18+
extension_documents_service, created_document.id, None
19+
) # act
20+
21+
22+
def test_update_extension_document(extension_documents_service, created_document, short_uuid):
23+
update_data = {"name": f"e2e updated {short_uuid}"}
24+
25+
result = extension_documents_service.update(created_document.id, update_data)
26+
27+
assert result.name == update_data["name"]
28+
29+
30+
def test_publish_extension_document(extension_documents_service, created_document):
31+
result = extension_documents_service.publish(created_document.id)
32+
33+
assert result.status == "Published"
34+
35+
36+
def test_unpublish_extension_document(extension_documents_service, created_document):
37+
extension_documents_service.publish(created_document.id)
38+
39+
result = extension_documents_service.unpublish(created_document.id)
40+
41+
assert result.status == "Unpublished"
42+
43+
44+
def test_delete_extension_document(extension_documents_service, created_document):
45+
extension_documents_service.delete(created_document.id) # act

0 commit comments

Comments
 (0)