Files
nairobi/spec/features/tracks_spec.rb
Javi Martín 307cf24846 Use describe on feature tests
The `type: :feature` is automatically detected by RSpec because these
tests are inside the `spec/features` folder. Using `feature` re-adds a
`type: :feature` to these files, which will result in a conflict when we
upgrade to Rails 5.1's system tests.

Because of this change, we also need to change `background` to `before`
or else these tests will fail.
2019-05-28 16:36:54 +02:00

118 lines
2.8 KiB
Ruby

require "rails_helper"
describe "Tracking" do
context "Custom variable" do
scenario "Usertype anonymous" do
visit proposals_path
expect(page.html).to include "anonymous"
end
scenario "Usertype level_1_user" do
create(:geozone)
user = create(:user)
login_as(user)
visit proposals_path
expect(page.html).to include "level_1_user"
end
scenario "Usertype level_2_user" do
create(:geozone)
user = create(:user)
login_as(user)
visit account_path
click_link "Verify my account"
verify_residence
fill_in "sms_phone", with: "611111111"
click_button "Send"
user = user.reload
fill_in "sms_confirmation_code", with: user.sms_confirmation_code
click_button "Send"
expect(page.html).to include "level_2_user"
end
end
context "Tracking events" do
scenario "Verification: start census" do
user = create(:user)
login_as(user)
visit account_path
click_link "Verify my account"
expect(page.html).to include "data-track-event-category=verification"
expect(page.html).to include "data-track-event-action=start_census"
end
scenario "Verification: success census & start sms" do
create(:geozone)
user = create(:user)
login_as(user)
visit account_path
click_link "Verify my account"
verify_residence
fill_in "sms_phone", with: "611111111"
click_button "Send"
expect(page.html).to include "data-track-event-category=verification"
expect(page.html).to include "data-track-event-action=start_sms"
end
scenario "Verification: success sms" do
create(:geozone)
user = create(:user)
login_as(user)
visit account_path
click_link "Verify my account"
verify_residence
fill_in "sms_phone", with: "611111111"
click_button "Send"
user = user.reload
fill_in "sms_confirmation_code", with: user.sms_confirmation_code
click_button "Send"
expect(page.html).to include "data-track-event-category=verification"
expect(page.html).to include "data-track-event-action=success_sms"
end
scenario "Verification: letter" do
create(:geozone)
user = create(:user)
login_as(user)
visit account_path
click_link "Verify my account"
verify_residence
fill_in "sms_phone", with: "611111111"
click_button "Send"
user = user.reload
fill_in "sms_confirmation_code", with: user.sms_confirmation_code
click_button "Send"
click_link "Send me a letter with the code"
expect(page.html).to include "data-track-event-category=verification"
expect(page.html).to include "data-track-event-action=start_letter"
end
end
end