Remove devise-token_authenticatable gem and only generate a token to be used by the chat.
42 lines
1.4 KiB
Ruby
42 lines
1.4 KiB
Ruby
require "spec_helper"
|
|
|
|
describe User::AuthenticationToken, type: :model do
|
|
describe "#reset_authentication_token!" do
|
|
it "sets the authentication token" do
|
|
expect(alice.authentication_token).to be_nil
|
|
alice.reset_authentication_token!
|
|
expect(alice.authentication_token).not_to be_nil
|
|
end
|
|
|
|
it "resets the authentication token" do
|
|
alice.reset_authentication_token!
|
|
expect { alice.reset_authentication_token! }.to change { alice.authentication_token }
|
|
end
|
|
end
|
|
|
|
describe "#ensure_authentication_token!" do
|
|
it "doesn't change the authentication token" do
|
|
alice.reset_authentication_token!
|
|
expect { alice.ensure_authentication_token! }.to_not change { alice.authentication_token }
|
|
end
|
|
|
|
it "sets the authentication token if not yet set" do
|
|
expect(alice.authentication_token).to be_nil
|
|
alice.ensure_authentication_token!
|
|
expect(alice.authentication_token).not_to be_nil
|
|
end
|
|
end
|
|
|
|
describe ".authentication_token" do
|
|
it "generates an authentication token" do
|
|
expect(User.authentication_token.length).to eq(30)
|
|
end
|
|
|
|
it "checks that the authentication token is not yet in use by another user" do
|
|
alice.reset_authentication_token!
|
|
expect(Devise).to receive(:friendly_token).with(30).and_return(alice.authentication_token, "some_unused_token")
|
|
|
|
expect(User.authentication_token).to eq("some_unused_token")
|
|
end
|
|
end
|
|
end
|