Sha256: de75bfda55f3318c5329fce7c768577bd4ba199c0c825c352fb49666779b0a10

Contents?: true

Size: 760 Bytes

Versions: 7

Compression:

Stored size: 760 Bytes

Contents

# frozen_string_literal: true

describe PUNK::ListGroupUsersAction do
  context 'with no group provided' do
    it 'returns a validation error' do
      view = described_class.run.result.render(:json)
      expect(view).to match('group is not present')
    end
  end

  context 'with valid arguments' do
    let(:group) { create(:group) }
    let(:users) { create_list(:user, 3) }

    before do
      create_list(:user, 2)
      users.each { |user| group.add_user(user) }
    end

    it 'returns users that are members of the given group' do
      expect(PUNK::User.count).to eq(5)
      view = JSON.parse(described_class.run(group: group).result.render(:json))
      expect(view.map { |h| h['id'] }.sort).to eq(group.users.map(&:id).sort)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
punk-0.3.6 spec/actions/users/punk/list_group_users_action_spec.rb
punk-0.3.5 spec/actions/users/punk/list_group_users_action_spec.rb
punk-0.3.4 spec/actions/users/punk/list_group_users_action_spec.rb
punk-0.3.3 spec/actions/users/punk/list_group_users_action_spec.rb
punk-0.3.2 spec/actions/users/punk/list_group_users_action_spec.rb
punk-0.3.1 spec/actions/users/punk/list_group_users_action_spec.rb
punk-0.2.0 spec/actions/users/punk/list_group_users_action_spec.rb