We were very inconsistent regarding these rules. Personally I prefer no empty lines around blocks, clases, etc... as recommended by the Ruby style guide [1], and they're the default values in rubocop, so those are the settings I'm applying. The exception is the `private` access modifier, since we were leaving empty lines around it most of the time. That's the default rubocop rule as well. Personally I don't have a strong preference about this one. [1] https://rubystyle.guide/#empty-lines-around-bodies
31 lines
1.0 KiB
Ruby
31 lines
1.0 KiB
Ruby
require "rails_helper"
|
|
|
|
describe Users::RegistrationsController do
|
|
describe "POST check_username" do
|
|
before do
|
|
request.env["devise.mapping"] = Devise.mappings[:user]
|
|
end
|
|
|
|
context "when username is available" do
|
|
it "returns true with no error message" do
|
|
get :check_username, params: { username: "available username" }
|
|
|
|
data = JSON.parse response.body, symbolize_names: true
|
|
expect(data[:available]).to be true
|
|
expect(data[:message]).to eq I18n.t("devise_views.users.registrations.new.username_is_available")
|
|
end
|
|
end
|
|
|
|
context "when username is not available" do
|
|
it "returns false with an error message" do
|
|
user = create(:user)
|
|
get :check_username, params: { username: user.username }
|
|
|
|
data = JSON.parse response.body, symbolize_names: true
|
|
expect(data[:available]).to be false
|
|
expect(data[:message]).to eq I18n.t("devise_views.users.registrations.new.username_is_not_available")
|
|
end
|
|
end
|
|
end
|
|
end
|