|
1 | | -import pytest |
| 1 | +# import pytest |
2 | 2 |
|
3 | | -from playwright.sync_api import Page, expect |
| 3 | +# from playwright.sync_api import Page, expect |
4 | 4 |
|
5 | | -from rdmo.management.tests.e2e.frontend_helpers import assert_warning_items |
6 | | -from rdmo.management.tests.helpers_import_elements import IMPORT_ELEMENT_PANELS_LOCATOR |
7 | | -from rdmo.options.models import Option, OptionSet |
| 5 | +# from rdmo.management.tests.e2e.frontend_helpers import assert_warning_items |
| 6 | +# from rdmo.management.tests.helpers_import_elements import IMPORT_ELEMENT_PANELS_LOCATOR |
| 7 | +# from rdmo.options.models import Option, OptionSet |
8 | 8 |
|
9 | | -pytestmark = pytest.mark.e2e |
| 9 | +# pytestmark = pytest.mark.e2e |
10 | 10 |
|
11 | | -import_xml = "./testing/xml/elements/optionsets.xml" |
12 | | -import_xml_1 = "./testing/xml/elements/updated-and-changed/optionsets-1.xml" |
13 | | -OPTIONSETS_COUNTS = {"total": 13, "updated": 13, "changed": 5, "warnings": 2} |
14 | | -OPTIONSETS_COUNTS_HEADER_INFOS = [f"{k.capitalize()}: {v}" for k, v in OPTIONSETS_COUNTS.items()] |
15 | | -# Defined in filterCheckBoxText in rdmo/management/assets/js/components/import/common/ImportFilters.js |
16 | | -IMPORT_FILTER_LABEL_TEXT = 'Show only new and changed elements (%s)' |
| 11 | +# import_xml = "./testing/xml/elements/optionsets.xml" |
| 12 | +# import_xml_1 = "./testing/xml/elements/updated-and-changed/optionsets-1.xml" |
| 13 | +# OPTIONSETS_COUNTS = {"total": 13, "updated": 13, "changed": 5, "warnings": 2} |
| 14 | +# OPTIONSETS_COUNTS_HEADER_INFOS = [f"{k.capitalize()}: {v}" for k, v in OPTIONSETS_COUNTS.items()] |
| 15 | +# # Defined in filterCheckBoxText in rdmo/management/assets/js/components/import/common/ImportFilters.js |
| 16 | +# IMPORT_FILTER_LABEL_TEXT = 'Show only new and changed elements (%s)' |
17 | 17 |
|
18 | 18 |
|
19 | | -def test_import_and_update_optionsets_in_management(db, page: Page, delete_all_objects) -> None: |
20 | | - """Test that each content type is available through the navigation.""" |
| 19 | +# def test_import_and_update_optionsets_in_management(db, page: Page, delete_all_objects) -> None: |
| 20 | +# """Test that each content type is available through the navigation.""" |
21 | 21 |
|
22 | | - expect(page.get_by_role("heading", name="Management")).to_be_visible() |
23 | | - expect(page.locator("strong").filter(has_text="Catalogs")).to_be_visible() |
24 | | - # delete the OptionSet, Option objects |
25 | | - delete_all_objects(OptionSet, Option) |
| 22 | +# expect(page.get_by_role("heading", name="Management")).to_be_visible() |
| 23 | +# expect(page.locator("strong").filter(has_text="Catalogs")).to_be_visible() |
| 24 | +# # delete the OptionSet, Option objects |
| 25 | +# delete_all_objects(OptionSet, Option) |
26 | 26 |
|
27 | | - ## 1. Import fresh optionset.xml |
28 | | - # choose the file to be imported |
29 | | - page.locator('input[name="uploaded_file"]').set_input_files(import_xml) |
30 | | - # click the import form submit button, this will take some time |
31 | | - page.locator( |
32 | | - "#sidebar div.elements-sidebar form.upload-form.sidebar-form div.sidebar-form-button button.btn.btn-primary" |
33 | | - ).click() |
34 | | - # wait for import to be finished with timeout 30s |
35 | | - expect(page.get_by_text("Import from: optionsets.xml")).to_be_visible(timeout=30_000) |
36 | | - ## TODO test if ImportInfo numbers are correct |
37 | | - # test the components of the import-before-import staging page |
38 | | - expect(page.get_by_text(f"Created: {OPTIONSETS_COUNTS['total']}")).to_be_visible(timeout=30_000) |
39 | | - page.locator(".element-link").first.click() |
40 | | - page.get_by_role("link", name="Deselect all").click() |
41 | | - page.get_by_role("link", name="Select all", exact=True).click() |
42 | | - page.get_by_role("link", name="Show all", exact=True).click() |
43 | | - rows_displayed_in_ui = page.locator(IMPORT_ELEMENT_PANELS_LOCATOR) |
44 | | - expect(rows_displayed_in_ui).to_have_count(OPTIONSETS_COUNTS["total"]) |
45 | | - # click the import button to start saving the instances to the db |
46 | | - page.get_by_role("button", name=f"Import {OPTIONSETS_COUNTS['total']} elements").click() |
47 | | - expect(page.get_by_role("heading", name="Import successful")).to_be_visible() |
48 | | - page.screenshot(path="screenshots/management/import-optionsets-post-import.png", full_page=True) |
49 | | - page.get_by_text("Created:").click() |
50 | | - # go back to management page |
51 | | - page.get_by_role("button", name="Back").click() |
52 | | - expect(page.get_by_role("heading", name="Management")).to_be_visible() |
53 | | - # assert all Model objects in db |
54 | | - assert OptionSet.objects.count() == 4 |
55 | | - assert Option.objects.count() == 9 |
| 27 | +# ## 1. Import fresh optionset.xml |
| 28 | +# # choose the file to be imported |
| 29 | +# page.locator('input[name="uploaded_file"]').set_input_files(import_xml) |
| 30 | +# # click the import form submit button, this will take some time |
| 31 | +# page.locator( |
| 32 | +# "#sidebar div.elements-sidebar form.upload-form.sidebar-form div.sidebar-form-button button.btn.btn-primary" |
| 33 | +# ).click() |
| 34 | +# # wait for import to be finished with timeout 30s |
| 35 | +# expect(page.get_by_text("Import from: optionsets.xml")).to_be_visible(timeout=30_000) |
| 36 | +# ## TODO test if ImportInfo numbers are correct |
| 37 | +# # test the components of the import-before-import staging page |
| 38 | +# expect(page.get_by_text(f"Created: {OPTIONSETS_COUNTS['total']}")).to_be_visible(timeout=30_000) |
| 39 | +# page.locator(".element-link").first.click() |
| 40 | +# page.get_by_role("link", name="Deselect all").click() |
| 41 | +# page.get_by_role("link", name="Select all", exact=True).click() |
| 42 | +# page.get_by_role("link", name="Show all", exact=True).click() |
| 43 | +# rows_displayed_in_ui = page.locator(IMPORT_ELEMENT_PANELS_LOCATOR) |
| 44 | +# expect(rows_displayed_in_ui).to_have_count(OPTIONSETS_COUNTS["total"]) |
| 45 | +# # click the import button to start saving the instances to the db |
| 46 | +# page.get_by_role("button", name=f"Import {OPTIONSETS_COUNTS['total']} elements").click() |
| 47 | +# expect(page.get_by_role("heading", name="Import successful")).to_be_visible() |
| 48 | +# page.screenshot(path="screenshots/management/import-optionsets-post-import.png", full_page=True) |
| 49 | +# page.get_by_text("Created:").click() |
| 50 | +# # go back to management page |
| 51 | +# page.get_by_role("button", name="Back").click() |
| 52 | +# expect(page.get_by_role("heading", name="Management")).to_be_visible() |
| 53 | +# # assert all Model objects in db |
| 54 | +# assert OptionSet.objects.count() == 4 |
| 55 | +# assert Option.objects.count() == 9 |
56 | 56 |
|
57 | | - ## 2. import optionset-1.xml with changes |
58 | | - # choose the file to be imported |
59 | | - page.locator('input[name="uploaded_file"]').set_input_files(import_xml_1) |
60 | | - # click the import form submit button, this will take some time |
61 | | - page.locator( |
62 | | - "#sidebar div.elements-sidebar form.upload-form.sidebar-form div.sidebar-form-button button.btn.btn-primary" |
63 | | - ).click() |
64 | | - expect(page.get_by_text("Import from: optionsets-1.xml")).to_be_visible(timeout=40_000) |
65 | | - # assert changed elements |
66 | | - for text in OPTIONSETS_COUNTS_HEADER_INFOS: |
67 | | - expect(page.locator("#main")).to_contain_text(text) |
68 | | - expect(page.get_by_text(IMPORT_FILTER_LABEL_TEXT % OPTIONSETS_COUNTS['changed'])).to_be_visible() |
69 | | - page.get_by_role("link", name="Show changes").click() |
70 | | - expect(page.locator(".col-sm-6 > .form-group").first).to_be_visible(timeout=30_000) |
71 | | - # take a screenshot of the import page |
72 | | - expect(page.get_by_text("http://example.com/terms/options/one_two_three/three").nth(1)).to_be_visible() |
| 57 | +# ## 2. import optionset-1.xml with changes |
| 58 | +# # choose the file to be imported |
| 59 | +# page.locator('input[name="uploaded_file"]').set_input_files(import_xml_1) |
| 60 | +# # click the import form submit button, this will take some time |
| 61 | +# page.locator( |
| 62 | +# "#sidebar div.elements-sidebar form.upload-form.sidebar-form div.sidebar-form-button button.btn.btn-primary" |
| 63 | +# ).click() |
| 64 | +# expect(page.get_by_text("Import from: optionsets-1.xml")).to_be_visible(timeout=40_000) |
| 65 | +# # assert changed elements |
| 66 | +# for text in OPTIONSETS_COUNTS_HEADER_INFOS: |
| 67 | +# expect(page.locator("#main")).to_contain_text(text) |
| 68 | +# expect(page.get_by_text(IMPORT_FILTER_LABEL_TEXT % OPTIONSETS_COUNTS['changed'])).to_be_visible() |
| 69 | +# page.get_by_role("link", name="Show changes").click() |
| 70 | +# expect(page.locator(".col-sm-6 > .form-group").first).to_be_visible(timeout=30_000) |
| 71 | +# # take a screenshot of the import page |
| 72 | +# expect(page.get_by_text("http://example.com/terms/options/one_two_three/three").nth(1)).to_be_visible() |
73 | 73 |
|
74 | | - # test for Warnings |
75 | | - expected_warnings = [ |
76 | | - ( |
77 | | - "Option set ", |
78 | | - "http://example.com/terms/options/condition", |
79 | | - "Condition http://example.com/terms/conditions/optionset_bool_is_false for OptionSet http://example.com/terms/options/condition does not exist.", # noqa: E501 |
80 | | - ), |
81 | | - ( |
82 | | - "Option set ", |
83 | | - "http://example.com/terms/options/one_two_three", |
84 | | - "Condition http://example.com/terms/conditions/does_not_exist for OptionSet http://example.com/terms/options/one_two_three does not exist.", # noqa: E501 |
85 | | - ), |
86 | | - ] |
87 | | - assert_warning_items(page, expected_warnings) |
| 74 | +# # test for Warnings |
| 75 | +# expected_warnings = [ |
| 76 | +# ( |
| 77 | +# "Option set ", |
| 78 | +# "http://example.com/terms/options/condition", |
| 79 | +# "Condition http://example.com/terms/conditions/optionset_bool_is_false for OptionSet http://example.com/terms/options/condition does not exist.", # noqa: E501 |
| 80 | +# ), |
| 81 | +# ( |
| 82 | +# "Option set ", |
| 83 | +# "http://example.com/terms/options/one_two_three", |
| 84 | +# "Condition http://example.com/terms/conditions/does_not_exist for OptionSet http://example.com/terms/options/one_two_three does not exist.", # noqa: E501 |
| 85 | +# ), |
| 86 | +# ] |
| 87 | +# assert_warning_items(page, expected_warnings) |
88 | 88 |
|
89 | | - ## TODO add test for errors |
| 89 | +# ## TODO add test for errors |
90 | 90 |
|
91 | | - page.locator("body").press("Home") |
92 | | - expect(page.get_by_role("link", name="Management", exact=True)).to_be_visible() |
93 | | - page.screenshot(path="screenshots/management/import-optionsets-1-changes.png", full_page=True) |
| 91 | +# page.locator("body").press("Home") |
| 92 | +# expect(page.get_by_role("link", name="Management", exact=True)).to_be_visible() |
| 93 | +# page.screenshot(path="screenshots/management/import-optionsets-1-changes.png", full_page=True) |
0 commit comments