Given(/^I am on the OA::EditCustomerMasterPage for DMS (.*)$/) do |dms|
  visit(OA::EditCustomerMaster, using_params: { queries: { "customer_master_master_id" => dms } })
end

Then(/^I toggle the audio delivery option and save$/) do
  on OA::EditCustomerMaster do |page|
    if page.audio_delivery_options == "Cherry Picking"
      page.audio_delivery_options = "Full Catalog"
      expect(page.genre_element.element.present?).to be false
      expect(page.subgenre_element.element.present?).to be false
      expect(page.audio_resolution_element.element.present?).to be false
      expect(page.preferred_labels_element.element.present?).to be false
      expect(page.preferred_subaccounts_element.element.present?).to be false
      expect(page.preferred_label_countries_element.element.present?).to be false
      expect(page.preferred_label_priority_element.element.present?).to be false
      expect(page.preferred_marketing_priority_element.element.present?).to be false
    else
      page.audio_delivery_options = "Cherry Picking"
      expect(page.genre_element.element.present?).to be true
      expect(page.subgenre_element.element.present?).to be true
      expect(page.audio_resolution_element.element.present?).to be true
      expect(page.preferred_labels_element.element.present?).to be true
      expect(page.preferred_subaccounts_element.element.present?).to be true
      expect(page.preferred_label_countries_element.element.present?).to be true
      expect(page.preferred_label_priority_element.element.present?).to be true
      expect(page.preferred_marketing_priority_element.element.present?).to be true
    end
    @audio_delivery_option = page.audio_delivery_options
    puts "Selected audio delivery option: #{@audio_delivery_option}"
  end
end

Then(/^I see the updated audio delivery option on the dms page after saving/) do
  on(OA::EditCustomerMaster).submit
  on OA::ViewCustomerMaster do |page|
    expect(page.confirmation_message).to eql("Customer master record updated successfully.")
    if @audio_delivery_option == "Full Catalog"
      expect(page.audio_delivery_option).to include "Full Catalog"
    elsif @audio_delivery_option == "Cherry Picking"
      expect(page.audio_delivery_option).to include "Cherry Pick"
    end
  end
end
