When(/^I create a (.*?) encoding order with a normal priority$/) do |encoder|
  visit(OA::EncodingOrderPage) do |page|
    page.select_encoder = encoder
    page.priority = "2 - Normal"
    page.submit
  end
end

When(/^I complete an encoding order for (\d+)$/) do |_label|
  on(OA::EncodingOrderStep2Page) do |page|
    @upcs = %w[884385034672
               884385034689
               884385035068
               884385035075
               884385087364]
    Support::Helpers::ScenarioVariables.add_scenario_variable("Upcs: ", @upcs)
    page.upcs = @upcs.join(", \n")
    page.select_manual
    page.uncheck_check_if_delivered
    page.uncheck_check_if_encoding_order
    page.submit
  end
end

When(/^I create physical encoding order for (\d+)$/) do |_label|
  on(OA::EncodingOrderStep2Page) do |page|
    @upcs = @project_upc
    page.upcs = @upcs
    page.select_manual
    page.uncheck_check_if_delivered
    page.uncheck_check_if_encoding_order
    page.dms = "Proper Music Distribution"
    page.dms = "Sony Music (GRAS)"
    page.submit
  end
end

Then(/^I should see a completed encoding order$/) do
  on(OA::EncodingOrderViewPage) do |page|
    expect(page.priority).to include "Normal"
    if @upcs.class == Array
      @upcs.each { |upc| expect(page.encoding_order_table).to include upc }
    else
      expect(page.encoding_order_table_element.text).to include @project_display_upc
    end
  end
end

And(/^I close an encoding order$/) do
  on(OA::EncodingOrderViewPage) do |page|
    page.status = "Closed"
    page.update_status
    expect(page.alert_confirm).to eq("Encoding Order Status changed successfully.")
  end
end
