Sha256: 9921b578f51843bf4e8db91f1751e531a44890ca8f93cd7f66d10b971edb9de9

Contents?: true

Size: 1.59 KB

Versions: 9

Compression:

Stored size: 1.59 KB

Contents

require 'spec_helper'
require 'invitational/services/service_helper'

describe Invitational::CreatesUberAdminInvitation do
  Given {no_invitations_exist}

  context "by email" do
    context "when not already invited" do
      When (:result) {Invitational::CreatesUberAdminInvitation.for "test@d-i.co"}

      Then  {result.should_not be_nil}
      And   {result.invitable.should be_nil}
      And   {result.email.should == "test@d-i.co"}
      And   {result.role.should == :uberadmin }
      And   {result.unclaimed?.should be_truthy}
    end

    context "when already invited" do
      Given {::Invitation.new(role: :uberadmin, email: 'test@d-i.co').save}

      When (:result) {Invitational::CreatesUberAdminInvitation.for "test@d-i.co"}

      Then  { expect(result).to have_failed(Invitational::AlreadyInvitedError) }
    end

  end

  context "to be immediately claimed" do
    Given(:user) { setup_user "test2@d-i.co" }

    context "when not already invited" do
      When (:result) {Invitational::CreatesUberAdminInvitation.for user}

      Then  {result.should_not be_nil}
      And   {result.invitable.should be_nil}
      And   {result.email.should == "test2@d-i.co"}
      And   {result.role.should == :uberadmin}
      And   {result.claimed?.should be_truthy}
      And   {result.user.should == user }
    end

    context "when already invited" do
      Given {::Invitation.new(role: :uberadmin, email: 'test2@d-i.co', user: user).save}

      When (:result) {Invitational::CreatesUberAdminInvitation.for user}

      Then  { expect(result).to have_failed(Invitational::AlreadyInvitedError) }
    end

  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
invitational-1.5.4 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.5.3 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.5.2 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.5.1 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.5.0 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.4.3 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.4.2 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.4.1 spec/invitational/services/creates_uber_admin_invitation_spec.rb
invitational-1.4.0 spec/invitational/services/creates_uber_admin_invitation_spec.rb