Given(/^I upload a valid 1.0 OA track meta spreadsheet$/) do
  file = File.join(Support::Paths.assets, "templates", "oa_bulk_update_track_publishing", "valid_1.0.xls")
  on(OA::UploadTrackLicensingPage).upload_file(file)
end

Given(/^I upload a valid 1.1 OA track meta spreadsheet$/) do
  file = File.join(Support::Paths.assets, "templates", "oa_bulk_update_track_publishing", "valid_1.1.xls")
  on(OA::UploadTrackLicensingPage).upload_file(file)
end

Then(/^I should see the (.*?) data reflected on the edit track page$/) do |filetype|
  data = DataHelpers::TrackLicensing.get_data(filetype)
  # data['Track Unique ID'] => 4918443 # ISRC: USA371662260, UPC: 886788713031, Label ID: 7123
  visit(OA::TrackPage,
        using_params: { queries: { "upc" => 886_788_713_031, "tuid" => "4918443" } }) do |page|
    puts "data from #{filetype}: #{data}"
    expect(page.first_track_third_party_publisher.downcase).to eq(data["Third Party Publishing"].downcase)
    expect(page.first_track_royalty_collection.downcase).to eq(data["Royalty Collections"].downcase)
    expect(page.first_track_synchronization.downcase).to eq(data["Synchronization Administration"].downcase)
    expect(page.first_track_publishing_admin.downcase).to eq(data["Publishing Administration"].downcase)
    expect(page.first_track_country_of_recording.downcase).to eq(data["Country of Recording"].downcase)
    # TODO: Update this step to also check Nationality of First Producer once
    # it has been added to the edit track page
    # unable to verify -- this field is not on track page:
    # expect(page.master_rights).to eq(data['Master Rights Ownership'])
  end
end

Given(/^I upload a valid 1.0 OA track meta txt$/) do
  file = File.join(Support::Paths.assets, "templates", "oa_bulk_update_track_publishing", "valid_1.0.txt")
  on(OA::UploadTrackLicensingPage).upload_file(file)
end

Given(/^I upload a valid 1.1 OA track meta txt$/) do
  file = File.join(Support::Paths.assets, "templates", "oa_bulk_update_track_publishing", "valid_1.1.txt")
  on(OA::UploadTrackLicensingPage).upload_file(file)
end

Then(/^I should see an invalid OA bulk update spreadsheet error$/) do
  expected = "Invalid file format. Please download the template file for correct format."
  expect(on(OA::UploadTrackLicensingPage).alert_error_element.when_present.element.text).to eq expected
end
