module Project
  class PhysicalProductReviewPage < BasePage
    include ProductProgressBar
    include PhysicalReviewMetadata
    include PhysicalReviewTrackMetadata
    include ProductSidebar

    page_url "/project/<%=params[:project_id]%>/product/<%=params[:product_id]%>/review"

    button(:submit_for_approval, class: "PhysicalProductReview-button--submit")
    button(:confirm_submit, id: "confirm-submit")
    p(:product_status_submitted, class: "ProductStatus-submitted")
    span(:review_goals_total) { table_element(class: "PhysicalProductGoalsReview-table-total").span_element }
    link(:edit_goals, id: "editProjectionsButton")
    h2(:artwork_header, text: "Artwork")

    # territory restrictions
    section(:territory_restriction_section, class: "PhysicalProductTerritoryRestrictionsReview")
    spans(:territory_restriction, class: "PhysicalProductTerritoryRestrictionsReview-item")

    # image
    div(:artwork_container, class: "PhysicalProductArtworkReview-image")
    img(:artwork) { artwork_container_element.image_element }
    div(:artwork_error) { artwork_container_element.div_element(class: "alert-danger") }

    def submit
      submit_for_approval_element.scroll.to
      wait_until { submit_for_approval_element.enabled? } # disabled while artwork loads
      submit_for_approval
    end
  end
end
