action #103371
closedcoordination #93668: [epic] Redesign Installation test modules
Implement remaining uses of addon_products_sle with client libyui-rest-api in YaST group in Full Medium
0%
Description
After https://github.com/libyui/libyui/pull/58 and having most of the installation steps implemented with libyui-rest-api, probably the most important part of code not yet migrated is related with this test module.
This module in our group appears in Full Medium https://openqa.suse.de/tests/overview?arch=&flavor=Full&machine=&test=&modules=addon_products_sle&module_re=&distri=sle&version=15-SP4&build=67.2&groupid=129
Before the fix in server side this command would fail with some event error:
curl -X POST 'http://openqaworker13.suse.de:39097/v1/widgets?id=addon_repos&action=check&value=Desktop+Applications+Module+Snapshot-202112-1
After verify in latest build that this is fixed, we can now interact with YMultiSelectionBox.
For module selection we already have developed modules based in libyui-rest-api but those interact with YRichText:
i.e.: https://openqa.suse.de/tests/7757983#step/select_nonconflicting_modules/1
Also it is developed the final screen lib/Installation/AddOnProductInstallation/AddOnProductInstallationPage.pm
ids of the controls are not similar comparing YMultiSelectionBox and YRichText and they are indeed different UI controls, so we shouldn't try to mix implementation and would be better to have a separate page.
Regarding the controller, as we call wisely methods like "register_module" when using YRichText in Online Medium, now with YMUltiSelectionBox we are not registering, more like using the content of the medium itself, so even if we have 'sort of' the same interface we could also go for a new Controller. We could consider better naming that just differentiate by Online or Offline MEDIUM, but this implementation is for OFFLINE.
For remaining test suites using this test module in Online MEDIUM we can tackle them in other ticket.
Test cases:
- skip_module_selection: https://openqa.suse.de/tests/7756869#step/addon_products_sle/21 (we don't need to check preselected, but we should create a ticket for a future extended scenario in full medium)
- select_module_desktop: https://openqa.suse.de/tests/7756872#step/addon_products_sle/23
- select_nonconflicting_modules: https://openqa.suse.de/tests/7756878#step/addon_products_sle/59
Note: we could consider to rename current skip_module_selection
to skip_module_registration
and use skip_module_selection
for this task. Other option could be skip_module_selection_offline
. Important thing is that is meaningful looking at it without inspecting the code. Similar for the rest of names of test cases to not collide with the existing names.