Project

General

Profile

action #125561

Updated by JERiveraMoya about 1 year ago


 #### Motivation 
 

 When we fix the ticket [124964](https://progress.opensuse.org/issues/124964), we could use code like this 
 ~~~ text 
     my $timeout = YuiRestClient::get_timeout() * get_var('TIMEOUT_SCALE', 1); 
     my $product_selection = $testapi::distri->get_product_selection(); 
     $product_selection->wait_product_selection_page({timeout => $timeout, message => 'Product Selection page is not displayed'}); 
 ~~~ 
 But we should pass the timeout scale as a parameter to not introduce dependency with YuiRestClient in YuiRestClientin the Test Layer, then we would repeat that operation (multiplication) in several places in the code and we need some object to encapsulate it to avoid that. which looks like this: 
 ~~~ text 
 $product_selection->wait_product_selection_page({timeout_scale => get_var('TIMEOUT_SCALE', 1), message => 'Product Selection page is not displayed'}); 
 ~~~ 
 Inside `wait_product_selection_page` and in other places like in perform_installation method applying the YuiRestClient::Wait::wait_until 
 this solution we will have to repeat this logic of multiplying the current timeout by the multiplication (timeout * timeout_scale therefore, we ) should encapsulate somehow. 

 be encapsulated in the YuiRestClient::Wait::wait_until 
 ~~~ 
 #### Acceptance criteria 
 **AC1**: Encapsulate logic of multiplying timeout by Create a factor so we don't repeat it new object that encapsulates the timeout_scale property in each Controller method for waiting some long process the YuiRestClient class. 

 #### Additional information 
 PR where this was discussed: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/16462 

Back