Given(/^A common release title$/) do
  @search_term = "rock"
end

Given(/^A valid UPC$/) do
  @search_term = "885686161340"
  @upc = @search_term
end

Given(/^A valid Release ID$/) do
  @search_term = "222613"
  @upc = "885686161340"
end

Given(/^A valid track ISRC$/) do
  @search_term = "QMFMF1540775"
  @upc = "888831100782"
end

When(/^I search Releases for the (UPC|ID|title|ISRC)$/) do |_|
  on(OA::RelationshipsPage).search_with_option("release", @search_term)
end

When(/^I select a release$/) do
  on(OA::QuickSearchReleaseResultsPage) do |page|
    @upc = page.first_result_upc[/\d+/]
    page.first_result_link
  end
end

Then(/^I am on the correct release page$/) do
  on(OA::ViewReleasePage) do |page|
    page_upc = page.unordered_list_element(id: "itemInfo").list_item_element.text[/\d+/]
    expect(page_upc).to eql @upc
  end
end

When(/^I select a Genre facet$/) do
  @genre = "Rock"
  on(OA::QuickSearchReleaseResultsPage).add_facet_element(@genre).click
end

Then(/^The facet is applied$/) do
  # could be improved -- maybe check that # of results decreases?
  on(OA::QuickSearchReleaseResultsPage) do |page|
    expect(page.add_facet_element(@genre).exists?).to be false
    expect(page.remove_facet_element(@genre).exists?).to be true
  end
end

When(/^I de-select the facet$/) do
  on(OA::QuickSearchReleaseResultsPage).remove_facet_element(@genre).click
end

Then(/^The facet is not applied$/) do
  # could be improved -- maybe check that # of results returns?
  on(OA::QuickSearchReleaseResultsPage) do |page|
    expect(page.add_facet_element(@genre).exists?).to be true
    expect(page.remove_facet_element(@genre).exists?).to be false
  end
end
