Given(/^I have projects to move a digital product between$/) do
  @project_a = { id: 3_891_275, proj_code: "DIG_5740_PROJECT_A" }
  @project_b = { id: 3_891_276, proj_code: "DIG_5740_PROJECT_B" }

  # just in case we'll need it
  # @product = 2256148
end

Given(/^I am on the project details page for a project where my products should be moveable$/) do
  visit(Project::ProjectDetailsPage, using_params: {
          project_id: 3_927_297,
          queries: @url_queries
        }).save_project_element.wait_until(&:present?)
end

Then(/^I should see a move product option on any product$/) do
  on(Project::ProjectDetailsPage) do |page|
    page.wait_until { page.sidebar_product_more_actions_elements.any? }
    page.sidebar_product_more_actions_elements.each do |more_button|
      more_button.click
      on(Project::DigitalProductOverviewPage) do |product_page|
        product_page.basics_header_element.wait_until(&:present?)
        puts "Checking for move product button on a " +
             product_page.digital_product_element.text + " product."
        product_page.product_more_actions_element.wait_until(&:present?).click
        expect(product_page.move_product_option?).to be true
        product_page.product_more_actions_element.wait_until(&:present?).click
        product_page.basics_header_element.click
      end
    end
  end
end
