Sha256: 0efaa2c2b32a483be2d691069236047f508c9d8d7ea07872231a01905b4768a1
Contents?: true
Size: 813 Bytes
Versions: 7
Compression:
Stored size: 813 Bytes
Contents
# frozen_string_literal: true describe PUNK::ListSessionsAction do context 'with no user provided' do it 'returns a validation error' do view = described_class.run.result.render(:json) expect(view).to match('user is not present') end end context 'with a user provided' do let(:user) { create(:user) } let(:identity) { create(:identity, user: user) } before do create_list(:session, 3, state: 'active') create_list(:session, 3, state: 'active', identity: identity) end it 'returns active sessions that the user belongs to' do expect(PUNK::Session.count).to eq(6) view = JSON.parse(described_class.run(user: user).result.render(:json)) expect(view.map { |h| h['id'] }.sort).to eq(user.active_sessions.map(&:id).sort) end end end
Version data entries
7 entries across 7 versions & 1 rubygems