forked from External/greenlight
make user_controller tests not env dependent
This commit is contained in:
parent
71395003c1
commit
ba4b7a018e
|
@ -43,6 +43,8 @@ describe UsersController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "GET #new" do
|
describe "GET #new" do
|
||||||
|
before { allow(Rails.configuration).to receive(:allow_user_signup).and_return(true) }
|
||||||
|
|
||||||
it "assigns a blank user to the view" do
|
it "assigns a blank user to the view" do
|
||||||
get :new
|
get :new
|
||||||
expect(assigns(:user)).to be_a_new(User)
|
expect(assigns(:user)).to be_a_new(User)
|
||||||
|
@ -50,15 +52,47 @@ describe UsersController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "POST #create" do
|
describe "POST #create" do
|
||||||
it "redirects to user room on succesful create" do
|
context "allow greenlight accounts" do
|
||||||
params = random_valid_user_params
|
before { allow(Rails.configuration).to receive(:allow_user_signup).and_return(true) }
|
||||||
post :create, params: params
|
|
||||||
|
|
||||||
u = User.find_by(name: params[:user][:name], email: params[:user][:email])
|
it "redirects to user room on successful create" do
|
||||||
|
params = random_valid_user_params
|
||||||
|
post :create, params: params
|
||||||
|
|
||||||
expect(u).to_not be_nil
|
u = User.find_by(name: params[:user][:name], email: params[:user][:email])
|
||||||
expect(u.name).to eql(params[:user][:name])
|
|
||||||
expect(response).to redirect_to(room_path(u.main_room))
|
expect(u).to_not be_nil
|
||||||
|
expect(u.name).to eql(params[:user][:name])
|
||||||
|
expect(response).to redirect_to(room_path(u.main_room))
|
||||||
|
end
|
||||||
|
|
||||||
|
it "user saves with greenlight provider" do
|
||||||
|
params = random_valid_user_params
|
||||||
|
post :create, params: params
|
||||||
|
|
||||||
|
u = User.find_by(name: params[:user][:name], email: params[:user][:email])
|
||||||
|
|
||||||
|
expect(u.provider).to eql("greenlight")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "renders #new on unsuccessful save" do
|
||||||
|
post :create, params: invalid_params
|
||||||
|
|
||||||
|
expect(response).to render_template(:new)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "disallow greenlight accounts" do
|
||||||
|
before { allow(Rails.configuration).to receive(:allow_user_signup).and_return(false) }
|
||||||
|
|
||||||
|
it "redirect to root on attempted create" do
|
||||||
|
params = random_valid_user_params
|
||||||
|
post :create, params: params
|
||||||
|
|
||||||
|
u = User.find_by(name: params[:user][:name], email: params[:user][:email])
|
||||||
|
|
||||||
|
expect(u).to be_nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "redirects to main room if already authenticated" do
|
it "redirects to main room if already authenticated" do
|
||||||
|
@ -68,21 +102,6 @@ describe UsersController, type: :controller do
|
||||||
post :create, params: random_valid_user_params
|
post :create, params: random_valid_user_params
|
||||||
expect(response).to redirect_to(room_path(user.main_room))
|
expect(response).to redirect_to(room_path(user.main_room))
|
||||||
end
|
end
|
||||||
|
|
||||||
it "user saves with greenlight provider" do
|
|
||||||
params = random_valid_user_params
|
|
||||||
post :create, params: params
|
|
||||||
|
|
||||||
u = User.find_by(name: params[:user][:name], email: params[:user][:email])
|
|
||||||
|
|
||||||
expect(u.provider).to eql("greenlight")
|
|
||||||
end
|
|
||||||
|
|
||||||
it "renders #new on unsuccessful save" do
|
|
||||||
post :create, params: invalid_params
|
|
||||||
|
|
||||||
expect(response).to render_template(:new)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "PATCH #update" do
|
describe "PATCH #update" do
|
||||||
|
|
Loading…
Reference in New Issue