|
12 | 12 | end |
13 | 13 |
|
14 | 14 | context "as author" do |
15 | | - let!(:alchemy_page) { create(:alchemy_page, name: "Page 1").tap { |p| p.update!(updated_at: Time.parse("2020-08-20")) } } |
16 | | - let!(:alchemy_page_2) { create(:alchemy_page, name: "Contact", page_layout: "contact").tap { |p| p.update(updated_at: Time.parse("2020-08-24")) } } |
| 15 | + let!(:root_page) { create(:alchemy_page, :language_root, :public, name: "Intro") } |
| 16 | + let!(:alchemy_page) { create(:alchemy_page, parent: root_page, name: "Page 1").tap { |p| p.update!(updated_at: Time.parse("2020-08-20")) } } |
| 17 | + let!(:alchemy_page_2) { create(:alchemy_page, parent: root_page, name: "Contact", page_layout: "contact").tap { |p| p.update(updated_at: Time.parse("2020-08-24")) } } |
17 | 18 | let!(:alchemy_page_3) { create(:alchemy_page, :layoutpage, name: "Footer") } |
18 | 19 |
|
19 | 20 | before do |
|
87 | 88 | expect(page).to_not have_css("tr:nth-child(3)") |
88 | 89 | end |
89 | 90 | end |
| 91 | + |
| 92 | + specify "can filter table of pages by date", :js do |
| 93 | + root_page.update!(updated_at: Time.parse("2020-08-10")) |
| 94 | + Timecop.travel("2020-08-25") do |
| 95 | + visit admin_pages_path(view: "list") |
| 96 | + page.execute_script <<~JS.strip_heredoc |
| 97 | + const fp = document.getElementById("q_updated_at_gteq")._flatpickr; |
| 98 | + fp.setDate("2020-08-23 00:00", true); |
| 99 | + JS |
| 100 | + expect(page).to have_content("1 Page") |
| 101 | + within("table.list") do |
| 102 | + expect(page.find("tr:nth-child(1) td.name", text: "Contact")).to be |
| 103 | + expect(page).to_not have_css("tr:nth-child(2)") |
| 104 | + expect(page).to_not have_css("tr:nth-child(3)") |
| 105 | + end |
| 106 | + end |
| 107 | + end |
| 108 | + |
| 109 | + specify "can filter table of pages by page type", :js do |
| 110 | + visit admin_pages_path(view: "list") |
| 111 | + select2("contact", from: "Page Type") |
| 112 | + expect(page).to have_content("1 Page") |
| 113 | + within("table.list") do |
| 114 | + expect(page.find("tr:nth-child(1) td.name", text: "Contact")).to be |
| 115 | + expect(page).to_not have_css("tr:nth-child(2)") |
| 116 | + expect(page).to_not have_css("tr:nth-child(3)") |
| 117 | + end |
| 118 | + end |
90 | 119 | end |
91 | 120 | end |
0 commit comments