module Royalties
  class NewPaymentPage < RoyaltiesPage
    page_url "/payments/new"

    button(:existing_group_btn, text: "Existing Group")
    text_field(:payment_name, name: "paymentName")

    div(:payment_group_details_section, class: "PaymentGroupDetails")

    text_field(:payee_search) do
      div_element(id: "payeeSearch").text_field_element
    end

    def select_specific_payee(payee_name)
      payee_search_element.set payee_name
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    def select_group_name(group_name)
      text_field_element(id: "react-select-2-input").send_keys group_name
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    button(:new_group_btn, text: "New Group")
    text_field(:group_name, name: "groupName")
    text_field(:payment_name, name: "paymentName")

    def select_payment_currency(currency_name)
      text_field_element(id: "react-select-3-input").send_keys currency_name
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    def select_payment_agreement(agreement_name)
      text_field_element(id: "react-select-4-input").send_keys agreement_name
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    def select_payment_schedule(schedule)
      text_field_element(id: "react-select-5-input").send_keys schedule
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    button(:specific_group_btn, text: "Specific Group")

    button(:continue_btn, text: "Continue")
    button(:cancel_btn, text: "Cancel")
  end
end
