require 'test_helper' module Workarea decorate Storefront::SearchSystemTest, with: :one_theme do def test_standard_results %w(test testing tests tested).each do |term| visit storefront.search_path(q: term) assert(page.has_content?('Test Product 1')) assert(page.has_content?('Test Product 2')) assert(page.has_content?('$10.00')) assert(page.has_content?('$5.00')) assert(page.has_content?('$7.00')) click_button 'Filter Results' assert(page.has_content?('Medium (2)')) assert(page.has_content?('Small (1)')) assert(page.has_no_content?('Red')) end end def test_filtering_results visit storefront.search_path(q: 'test') Capybara.match = :first click_button 'Filter Results' click_link 'First (1)' # Primary nav filtering assert(page.has_content?('Test Product 1')) assert(page.has_no_content?('Test Product 2')) click_button 'Filter Results' click_link "First #{t('workarea.storefront.products.remove_filter')}" # Price filtering click_button 'Filter Results' click_link '$10.00 - $19.99 (1)' assert(page.has_content?('Test Product 1')) assert(page.has_no_content?('Test Product 2')) click_button 'Filter Results' click_link "$10.00 - $19.99 #{t('workarea.storefront.products.remove_filter')}" # Config filtering click_button 'Filter Results' click_link 'Small (1)' assert(page.has_content?('Test Product 2')) assert(page.has_no_content?('Test Product 1')) click_button 'Filter Results' click_link "Small #{t('workarea.storefront.products.remove_filter')}" assert(page.has_content?('Test Product 1')) assert(page.has_content?('Test Product 2')) end def test_filter_and_sorting_results visit storefront.search_path(q: 'test') Capybara.match = :first click_button 'Filter Results' click_link 'First (1)' assert(page.has_content?('Test Product 1')) assert(page.has_no_content?('Test Product 2')) select(t('workarea.sorts.price_asc'), from: 'sort_top') assert(page.has_content?('Test Product 1')) assert(page.has_no_content?('Test Product 2')) end end end