module Royalties
  class NewContractProductExceptionPage < RoyaltiesPage
    page_url "/contract/<%=params[:contract_id]%>/product-exception/new"

    div(:product_search_section, id: "productSearch")

    text_field(:product_search_field) do
      product_search_section_element.text_field_element
    end

    div(:transaction_type, class: "contractTermConditionTransactionType")
    div(:service_type, class: "contractTermConditionService")
    div(:country, class: "contractTermConditionCountry")
    text_field(:labels_share, name: "termRate")
    button(:save, text: "Save")

    def search_for_product(product_name)
      product_search_field_element.send_keys product_name
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    def select_transaction_type(transaction_type)
      transaction_type_element.text_field_element.send_keys transaction_type
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    def select_service(service)
      service_type_element.text_field_element.send_keys service
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end

    def select_country(country)
      country_element.text_field_element.send_keys country
      div_element(class: %w[Select__option Select__option--is-focused]).click
    end
  end
end
