We're not adding the rule because it would apply the current line length rule of 110 characters per line. We still haven't decided whether we'll keep that rule or make lines shorter so they're easier to read, particularly when vertically splitting the editor window. So, for now, I'm applying the rule to lines which are about 90 characters long.
108 lines
2.8 KiB
Ruby
108 lines
2.8 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "Welcome screen" do
|
|
let(:budget) { create(:budget) }
|
|
|
|
it_behaves_like "remotely_translatable", :proposal, "root_path", {}
|
|
it_behaves_like "remotely_translatable", :debate, "root_path", {}
|
|
it_behaves_like "remotely_translatable", :legislation_process, "root_path", {}
|
|
|
|
scenario "requires a logged in user" do
|
|
visit welcome_path
|
|
expect(page).to have_content "You must sign in or register to continue."
|
|
end
|
|
|
|
scenario "for a not verified user" do
|
|
user = create(:user)
|
|
login_through_form_as(user)
|
|
|
|
expect(page).to have_current_path(page_path("welcome_not_verified"))
|
|
end
|
|
|
|
scenario "for a level two verified user" do
|
|
user = create(:user, :level_two)
|
|
login_as(user)
|
|
|
|
visit welcome_path
|
|
expect(page).to have_current_path(page_path("welcome_level_two_verified"))
|
|
end
|
|
|
|
scenario "for a level three verified user" do
|
|
user = create(:user, :level_three)
|
|
login_as(user)
|
|
|
|
visit welcome_path
|
|
expect(page).to have_current_path(page_path("welcome_level_three_verified"))
|
|
end
|
|
|
|
scenario "a regular user does not see it when coing to /email" do
|
|
plain, encrypted = Devise.token_generator.generate(User, :email_verification_token)
|
|
|
|
user = create(:user, email_verification_token: plain)
|
|
|
|
visit email_path(email_verification_token: encrypted)
|
|
|
|
fill_in "user_login", with: user.email
|
|
fill_in "user_password", with: user.password
|
|
|
|
click_button "Enter"
|
|
|
|
expect(page).to have_content("You are a verified user")
|
|
|
|
expect(page).to have_current_path(account_path)
|
|
end
|
|
|
|
scenario "it is not shown more than once" do
|
|
user = create(:user, sign_in_count: 2)
|
|
|
|
login_through_form_as(user)
|
|
|
|
expect(page).to have_current_path(root_path)
|
|
end
|
|
|
|
scenario "is not shown to organizations" do
|
|
organization = create(:organization)
|
|
|
|
login_through_form_as(organization.user)
|
|
|
|
expect(page).to have_current_path(root_path)
|
|
end
|
|
|
|
scenario "it is not shown to level-2 users" do
|
|
user = create(:user, residence_verified_at: Time.current, confirmed_phone: "123")
|
|
|
|
login_through_form_as(user)
|
|
|
|
expect(page).to have_current_path(root_path)
|
|
end
|
|
|
|
scenario "it is not shown to level-3 users" do
|
|
user = create(:user, verified_at: Time.current)
|
|
|
|
login_through_form_as(user)
|
|
|
|
expect(page).to have_current_path(root_path)
|
|
end
|
|
|
|
scenario "is not shown to administrators" do
|
|
administrator = create(:administrator)
|
|
|
|
login_through_form_as(administrator.user)
|
|
|
|
expect(page).to have_current_path(root_path)
|
|
end
|
|
|
|
scenario "a regular users sees it the first time he logs in, with all options active
|
|
if the setting skip_verification is activated" do
|
|
Setting["feature.user.skip_verification"] = "true"
|
|
|
|
user = create(:user)
|
|
|
|
login_through_form_as(user)
|
|
|
|
4.times do |i|
|
|
expect(page).to have_css "li:nth-child(#{i + 1})"
|
|
end
|
|
end
|
|
end
|