# frozen_string_literal: true module PageObjects module Pages class AdminPermalinks < PageObjects::Pages::Base def visit page.visit("/admin/customize/permalinks") self end def toggle(key) PageObjects::Components::DToggleSwitch.new(".admin-flag-item__toggle.#{key}").toggle has_saved_flag?(key) self end def click_add_permalink find(".admin-permalinks__header-add-permalink").click self end def click_edit_permalink(url) find("tr.#{url} .admin-permalink-item__edit").click self end def click_delete_permalink(url) open_permalink_menu(url) find(".admin-permalink-item__delete").click find(".dialog-footer .btn-primary").click expect(page).to have_no_css(".dialog-body") has_closed_permalink_menu? self end def has_permalinks?(*permalinks) all(".admin-permalink-item__url").map(&:text) == permalinks end def has_no_permalinks? has_no_css?(".admin-permalink-item__url") end def open_permalink_menu(url) find("tr.#{url} .permalink-menu-trigger").click self end def has_closed_permalink_menu? has_no_css?(".permalink-menu-content") end end end end