Skip to content

Commit fb59a36

Browse files
Explicit text values and check for what user sees in the page
Closes #6329 - fixes one factory creation (it was creating admin twice) - checks for explicit values in the page - avoids checking the database for changes, and checks for what the user sees when interacting with the page
1 parent 0756ddb commit fb59a36

File tree

1 file changed

+35
-27
lines changed

1 file changed

+35
-27
lines changed

spec/system/court_dates/edit_spec.rb

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,28 @@
44

55
RSpec.describe "court_dates/edit", type: :system do
66
context "with date"
7-
let(:now) { Date.new(2021, 1, 1) }
87
let(:organization) { create(:casa_org) }
98
let(:admin) { create(:casa_admin, casa_org: organization) }
109
let(:volunteer) { create(:volunteer) }
11-
let(:supervisor) { create(:casa_admin, casa_org: organization) }
12-
let!(:casa_case) { create(:casa_case, casa_org: organization) }
13-
let!(:court_date) { create(:court_date, :with_court_details, casa_case: casa_case, date: now - 1.week) }
14-
let!(:future_court_date) { create(:court_date, :with_court_details, casa_case: casa_case, date: now + 1.week) }
10+
let(:supervisor) { create(:supervisor, casa_org: organization) }
11+
let!(:casa_case) { create(:casa_case, case_number: 'CINA-08-1001', casa_org: organization) }
12+
let!(:past_court_date) { create(:court_date, :with_court_details, casa_case: casa_case, date: Date.new(2020, 12, 25)) }
13+
let!(:future_court_date) { create(:court_date, :with_court_details, casa_case: casa_case, date: Date.new(2021, 1, 8)) }
1514

1615
before do
17-
travel_to now
16+
travel_to(Date.new(2021, 1, 1))
1817
end
1918

2019
context "as an admin" do
2120
before do
2221
sign_in admin
2322
visit casa_case_path(casa_case)
24-
click_on court_date.date.strftime("%B %-d, %Y")
23+
click_on "December 25, 2020"
2524
click_on "Edit"
2625
end
2726

2827
it "shows court orders" do
29-
court_order = court_date.case_court_orders.first
28+
court_order = past_court_date.case_court_orders.first
3029

3130
expect(page).to have_text(court_order.text)
3231
expect(page).to have_text(court_order.implementation_status.humanize)
@@ -50,7 +49,7 @@
5049
it "edits past court date", :js do
5150
expect(page).to have_text("Editing Court Date")
5251
expect(page).to have_text("Case Number:")
53-
expect(page).to have_text(casa_case.case_number)
52+
expect(page).to have_text('CINA-08-1001')
5453
expect(page).to have_text("Add Court Date")
5554
expect(page).to have_field("court_date_date", with: "2020-12-25")
5655
expect(page).to have_text("Add Court Report Due Date")
@@ -66,41 +65,48 @@
6665
within ".top-page-actions" do
6766
click_on "Update"
6867
end
68+
6969
expect(page).to have_text("Court Order Text One")
7070
end
7171

72-
it "can delete a future court date", :js do
72+
it "allows deleting a future court date", :js do
7373
visit root_path
7474
click_on "Cases"
75-
click_on casa_case.case_number
75+
click_on 'CINA-08-1001'
76+
77+
expect(page).to have_content("December 25, 2020")
78+
expect(page).to have_content("January 8, 2021")
7679

77-
expect(CourtDate.count).to eq 2
78-
expect(page).to have_content future_court_date.date.strftime("%B %-d, %Y")
79-
page.find("a", text: future_court_date.date.strftime("%B %-d, %Y")).click
80+
page.find("a", text: "January 8, 2021").click
8081
accept_alert "Are you sure?" do
8182
page.find("a", text: "Delete Future Court Date").click
8283
end
8384
expect(page).to have_content "Court date was successfully deleted"
84-
expect(CourtDate.count).to eq 1
85+
86+
expect(page).not_to have_content("January 8, 2021")
87+
expect(page).to have_content("December 25, 2020")
8588
end
8689
end
8790

8891
context "as a supervisor" do
89-
it "can delete a future court date", :js do
92+
it "allows deleting a future court date", :js do
9093
sign_in supervisor
9194

9295
visit root_path
9396
click_on "Cases"
94-
click_on casa_case.case_number
97+
click_on 'CINA-08-1001'
9598

96-
expect(CourtDate.count).to eq 2
97-
expect(page).to have_content future_court_date.date.strftime("%B %-d, %Y")
98-
page.find("a", text: future_court_date.date.strftime("%B %-d, %Y")).click
99-
page.find("a", text: "Delete Future Court Date").click
100-
page.driver.browser.switch_to.alert.accept
99+
expect(page).to have_content("December 25, 2020")
100+
expect(page).to have_content("January 8, 2021")
101+
102+
page.find("a", text: "January 8, 2021").click
103+
accept_alert "Are you sure?" do
104+
page.find("a", text: "Delete Future Court Date").click
105+
end
101106

102107
expect(page).to have_content "Court date was successfully deleted."
103-
expect(CourtDate.count).to eq 1
108+
expect(page).not_to have_content("January 8, 2021")
109+
expect(page).to have_content("December 25, 2020")
104110
end
105111
end
106112

@@ -111,11 +117,13 @@
111117

112118
visit root_path
113119
click_on "Cases"
114-
click_on casa_case.case_number
120+
click_on 'CINA-08-1001'
121+
122+
expect(page).to have_content("December 25, 2020")
123+
expect(page).to have_content("January 8, 2021")
124+
125+
page.find("a", text: "January 8, 2021").click
115126

116-
expect(CourtDate.count).to eq 2
117-
expect(page).to have_content future_court_date.date.strftime("%B %-d, %Y")
118-
page.find("a", text: future_court_date.date.strftime("%B %-d, %Y")).click
119127
expect(page).not_to have_content "Delete Future Court Date"
120128
end
121129
end

0 commit comments

Comments
 (0)