Sha256: f6dd2b7666d5572e9166ef04823b22dedc607ada279a2da0d3c08e81ec2040db
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
RSpec.shared_examples "a gds-sso user class" do subject { described_class.new(:uid => '12345') } it "implements #where" do expect(described_class).to respond_to(:where) result = described_class.where(uid: '123') expect(result).to respond_to(:first) end it "implements #update_attribute" do expect(subject).to respond_to(:update_attribute) subject.update_attribute(:remotely_signed_out, true) expect(subject).to be_remotely_signed_out end it "implements #update_attributes" do subject.update_attributes(email: "ab@c.com") expect(subject.email).to eq("ab@c.com") end it "implements #create!" do expect(described_class).to respond_to(:create!) end it "implements #remotely_signed_out?" do expect(subject).to respond_to(:remotely_signed_out?) end specify "the User class and GDS::SSO::User mixin work together" do auth_hash = { 'uid' => '12345', 'info' => { 'name' => 'Joe Smith', 'email' => 'joe.smith@example.com', }, 'extra' => { 'user' => { 'permissions' => ['signin'], 'organisation_slug' => 'cabinet-office', } } } user = described_class.find_for_gds_oauth(auth_hash) expect(user).to be_an_instance_of(described_class) expect(user.uid).to eq('12345') expect(user.name).to eq("Joe Smith") expect(user.email).to eq('joe.smith@example.com') expect(user.permissions).to eq(['signin']) expect(user.organisation_slug).to eq('cabinet-office') end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gds-sso-10.0.1 | lib/gds-sso/lint/user_spec.rb |