def test_empty_search_returns_all_results(self, mozwebqa): homepage_obj = HomePage(mozwebqa) searchpage_obj = SearchPage(mozwebqa) homepage_obj.go_to_home_page() homepage_obj.header.click_search() # search with a zero length string should still return results # default display is for 5 addons/5 libraries # same as filtering by 'Combined' searchpage_obj.clear_search() searchpage_obj.click_search() Assert.equal(searchpage_obj.addons_element_count(), 5) Assert.equal(searchpage_obj.library_element_count(), 5)
def test_search_partial_library_name_returns_library(self, mozwebqa): homepage_obj = HomePage(mozwebqa) searchpage_obj = SearchPage(mozwebqa) homepage_obj.go_to_home_page() homepage_obj.header.click_search() # get library name, split string in half and search with it # results should be returned including the original addon top_library_name = searchpage_obj.library(1).name search_string = top_library_name[:4] searchpage_obj.type_search_term(search_string) searchpage_obj.click_search() Assert.true(searchpage_obj.library_element_count() >= 1) Assert.true(searchpage_obj.library(top_library_name).is_displayed, 'Library \'%s\' not found' % top_library_name)
def test_search_library_filter_results_match(self, mozwebqa): homepage_obj = HomePage(mozwebqa) searchpage_obj = SearchPage(mozwebqa) homepage_obj.go_to_home_page() homepage_obj.header.click_search() # search with a generic but safe string 'test' # filter by add-on results and check number searchpage_obj.type_search_term('test') searchpage_obj.click_search() searchpage_obj.click_filter_libraries_link() # 20 items maximum per page label_count = min(searchpage_obj.library_count_label, 20) element_count = searchpage_obj.library_element_count() Assert.equal(label_count, element_count, 'Number of items displayed should match 20 or total number of results, whichever is smallest. This is due to pagination.')