about summary refs log tree commit diff
path: root/spec/controllers/concerns/cache_concern_spec.rb
blob: a34d7d726769649246ad9ac8d62832cda3a97bcb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true

require 'rails_helper'

RSpec.describe CacheConcern, type: :controller do
  controller(ApplicationController) do
    include CacheConcern

    def empty_array
      render plain: cache_collection([], Status).size
    end

    def empty_relation
      render plain: cache_collection(Status.none, Status).size
    end
  end

  before do
    routes.draw do
      get  'empty_array' => 'anonymous#empty_array'
      post 'empty_relation' => 'anonymous#empty_relation'
    end
  end

  describe '#cache_collection' do
    context 'given an empty array' do
      it 'returns an empty array' do
        get :empty_array
        expect(response.body).to eq '0'
      end
    end

    context 'given an empty relation' do
      it 'returns an empty array' do
        get :empty_relation
        expect(response.body).to eq '0'
      end
    end
  end
end