Skip to content

Commit

Permalink
Check texts from the user's point of view
Browse files Browse the repository at this point in the history
This way we also simplify the code by avoiding instance variables.
  • Loading branch information
javierm committed Sep 30, 2019
1 parent 2a95676 commit 1ebfa04
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 45 deletions.
20 changes: 11 additions & 9 deletions spec/features/admin/settings_spec.rb
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
require "rails_helper"

describe "Admin settings" do

before do
@setting1 = create(:setting)
@setting2 = create(:setting)
@setting3 = create(:setting)
login_as(create(:administrator).user)
end

scenario "Index" do
create(:setting, key: "super.users.first")
create(:setting, key: "super.users.second")
create(:setting, key: "super.users.third")

visit admin_settings_path

expect(page).to have_content @setting1.key
expect(page).to have_content @setting2.key
expect(page).to have_content @setting3.key
expect(page).to have_content "First"
expect(page).to have_content "Second"
expect(page).to have_content "Third"
end

scenario "Update" do
setting = create(:setting, key: "super.users.first")

visit admin_settings_path

within("#edit_setting_#{@setting2.id}") do
fill_in "setting_#{@setting2.id}", with: "Super Users of level 2"
within("#edit_setting_#{setting.id}") do
fill_in "setting_#{setting.id}", with: "Super Users of level 1"
click_button "Update"
end

Expand Down
37 changes: 19 additions & 18 deletions spec/features/debates_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1017,16 +1017,14 @@
end

context "Filter" do

context "By geozone" do
let(:california) { Geozone.create(name: "California") }
let(:new_york) { Geozone.create(name: "New York") }

before do
@california = Geozone.create(name: "California")
@new_york = Geozone.create(name: "New York")

@debate1 = create(:debate, geozone: @california)
@debate2 = create(:debate, geozone: @california)
@debate3 = create(:debate, geozone: @new_york)
create(:debate, geozone: california, title: "Bigger sequoias")
create(:debate, geozone: california, title: "Green beach")
create(:debate, geozone: new_york, title: "Sully monument")
end

pending "From map" do
Expand All @@ -1040,9 +1038,9 @@

within("#debates") do
expect(page).to have_css(".debate", count: 2)
expect(page).to have_content(@debate1.title)
expect(page).to have_content(@debate2.title)
expect(page).not_to have_content(@debate3.title)
expect(page).to have_content("Bigger sequoias")
expect(page).to have_content("Green beach")
expect(page).not_to have_content("Sully monument")
end
end

Expand All @@ -1055,24 +1053,27 @@
end
within("#debates") do
expect(page).to have_css(".debate", count: 2)
expect(page).to have_content(@debate1.title)
expect(page).to have_content(@debate2.title)
expect(page).not_to have_content(@debate3.title)
expect(page).to have_content("Bigger sequoias")
expect(page).to have_content("Green beach")
expect(page).not_to have_content("Sully monument")
end
end

pending "From debate" do
visit debate_path(@debate1)
debate = create(:debate, geozone: california, title: "Surf college")

visit debate_path(debate)

within("#geozone") do
click_link "California"
end

within("#debates") do
expect(page).to have_css(".debate", count: 2)
expect(page).to have_content(@debate1.title)
expect(page).to have_content(@debate2.title)
expect(page).not_to have_content(@debate3.title)
expect(page).to have_css(".debate", count: 3)
expect(page).to have_content("Surf college")
expect(page).to have_content("Bigger sequoias")
expect(page).to have_content("Green beach")
expect(page).not_to have_content("Sully monument")
end
end

Expand Down
37 changes: 19 additions & 18 deletions spec/features/proposals_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1654,16 +1654,14 @@
end

context "Filter" do

context "By geozone" do
let(:california) { Geozone.create(name: "California") }
let(:new_york) { Geozone.create(name: "New York") }

before do
@california = Geozone.create(name: "California")
@new_york = Geozone.create(name: "New York")

@proposal1 = create(:proposal, geozone: @california)
@proposal2 = create(:proposal, geozone: @california)
@proposal3 = create(:proposal, geozone: @new_york)
create(:proposal, geozone: california, title: "Bigger sequoias")
create(:proposal, geozone: california, title: "Green beach")
create(:proposal, geozone: new_york, title: "Sully monument")
end

scenario "From map" do
Expand All @@ -1677,9 +1675,9 @@

within("#proposals") do
expect(page).to have_css(".proposal", count: 2)
expect(page).to have_content(@proposal1.title)
expect(page).to have_content(@proposal2.title)
expect(page).not_to have_content(@proposal3.title)
expect(page).to have_content("Bigger sequoias")
expect(page).to have_content("Green beach")
expect(page).not_to have_content("Sully monument")
end
end

Expand All @@ -1692,24 +1690,27 @@
end
within("#proposals") do
expect(page).to have_css(".proposal", count: 2)
expect(page).to have_content(@proposal1.title)
expect(page).to have_content(@proposal2.title)
expect(page).not_to have_content(@proposal3.title)
expect(page).to have_content("Bigger sequoias")
expect(page).to have_content("Green beach")
expect(page).not_to have_content("Sully monument")
end
end

scenario "From proposal" do
visit proposal_path(@proposal1)
proposal = create(:proposal, geozone: california, title: "Surf college")

visit proposal_path(proposal)

within("#geozone") do
click_link "California"
end

within("#proposals") do
expect(page).to have_css(".proposal", count: 2)
expect(page).to have_content(@proposal1.title)
expect(page).to have_content(@proposal2.title)
expect(page).not_to have_content(@proposal3.title)
expect(page).to have_css(".proposal", count: 3)
expect(page).to have_content("Surf college")
expect(page).to have_content("Bigger sequoias")
expect(page).to have_content("Green beach")
expect(page).not_to have_content("Sully monument")
end
end

Expand Down

0 comments on commit 1ebfa04

Please sign in to comment.