Sha256: ccc040dae6b70f8428efddb2e3f301053d1cc6f414287ea5555c88efc5c0b61d

Contents?: true

Size: 1.72 KB

Versions: 6

Compression:

Stored size: 1.72 KB

Contents

module OpenStax
  module Accounts
    module HasManyThroughGroups
      module ActiveRecord
        RSpec.describe Base do
          let!(:account_1) { FactoryBot.create(:openstax_accounts_account,
                             username: 'some_user',
                             openstax_uid: 1) }
          let!(:user_1)    { User.create(:account => account_1) }

          let!(:account_2) { FactoryBot.create(:openstax_accounts_account,
                             username: 'another_user',
                             openstax_uid: 2) }
          let!(:user_2)    { User.create(:account => account_2) }

          let!(:group_nesting) { FactoryBot.create(:openstax_accounts_group_nesting) }

          before(:each) do
            group_nesting.member_group.add_member(account_1)
          end

          it 'allows users to retrieve all nested has_many_through_groups objects' do
            expect(user_1.ownerships).to be_empty

            o = Ownership.new
            o.owner = user_2
            o.save!

            expect(user_1.reload.ownerships).to be_empty

            o2 = Ownership.new
            o2.owner = user_1
            o2.save!

            expect(user_1.reload.ownerships).to include(o2)

            o3 = Ownership.new
            o3.owner = group_nesting.member_group
            o3.save!

            expect(user_1.reload.ownerships).to include(o2)
            expect(user_1.ownerships).to include(o3)

            o4 = Ownership.new
            o4.owner = group_nesting.container_group
            o4.save!

            expect(user_1.reload.ownerships).to include(o2)
            expect(user_1.ownerships).to include(o3)
            expect(user_1.ownerships).to include(o4)
          end

        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
openstax_accounts-8.0.0 spec/lib/openstax/accounts/has_many_through_groups/active_record/base_spec.rb
openstax_accounts-7.13.1 spec/lib/openstax/accounts/has_many_through_groups/active_record/base_spec.rb
openstax_accounts-7.13.0 spec/lib/openstax/accounts/has_many_through_groups/active_record/base_spec.rb
openstax_accounts-7.12.0 spec/lib/openstax/accounts/has_many_through_groups/active_record/base_spec.rb
openstax_accounts-7.11.0 spec/lib/openstax/accounts/has_many_through_groups/active_record/base_spec.rb
openstax_accounts-7.10.0 spec/lib/openstax/accounts/has_many_through_groups/active_record/base_spec.rb