|
@@ -0,0 +1,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
|