mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-10-30 02:38:47 -04:00
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
55 lines
1.5 KiB
Ruby
55 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe RegistrationsController do
|
|
before do
|
|
@member = create(:member)
|
|
sign_in @member
|
|
controller.stub(:current_user) { @member }
|
|
controller.stub(:devise_mapping).and_return(Devise.mappings[:member])
|
|
end
|
|
|
|
describe "GET edit" do
|
|
it "assigns the requested member as @member" do
|
|
get :edit
|
|
assigns(:member).should eq(@member)
|
|
end
|
|
|
|
it "picks up the flickr auth" do
|
|
@auth = create(:flickr_authentication, member: @member)
|
|
get :edit
|
|
assigns(:flickr_auth).should eq @auth
|
|
end
|
|
end
|
|
|
|
describe "POST regenerate_api_token" do
|
|
it "generates or regenerates an API token for the current member" do
|
|
expect do
|
|
post :regenerate_api_token
|
|
end.to change { @member.reload.api_token }.from(nil)
|
|
expect(response).to redirect_to(edit_member_registration_path + '#apps')
|
|
end
|
|
end
|
|
|
|
describe "DELETE destroy_api_token" do
|
|
it "destroys the API token for the current member" do
|
|
@member.regenerate_api_token
|
|
expect do
|
|
delete :destroy_api_token
|
|
end.to change { @member.reload.api_token }.to(nil)
|
|
expect(response).to redirect_to(edit_member_registration_path + '#apps')
|
|
end
|
|
|
|
it "does not destroy other members' API tokens" do
|
|
other_member = create(:member)
|
|
other_member.regenerate_api_token
|
|
other_token = other_member.api_token
|
|
|
|
delete :destroy_api_token
|
|
|
|
expect(other_member.reload.api_token).to eq(other_token)
|
|
end
|
|
end
|
|
end
|