From 0a0c6d96f6d349849c46d6967e116fa184ad34e0 Mon Sep 17 00:00:00 2001 From: simfeld Date: Sat, 13 Apr 2024 01:37:15 +0200 Subject: [PATCH] Add spec --- spec/resources/event/read_spec.rb | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 spec/resources/event/read_spec.rb diff --git a/spec/resources/event/read_spec.rb b/spec/resources/event/read_spec.rb new file mode 100644 index 000000000..56f965634 --- /dev/null +++ b/spec/resources/event/read_spec.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +# Copyright (c) 2024, Pfadibewegung Schweiz. This file is part of +# hitobito_pbs and licensed under the Affero General Public License version 3 +# or later. See the COPYING file at the top-level directory or at +# https://github.com/hitobito/hitobito_pbs. + +require 'spec_helper' + +describe EventResource, type: :resource do + let!(:camp) { events(:tsueri_supercamp) } + let!(:course) { events(:top_course) } + + before do + params[:include] = 'advisor' + course.update!(advisor_id: person.id) + end + + describe 'advisor' do + it 'is null for camps' do + params[:filter] = { id: { eq: camp.id } } + render + + advisor_data = d[0].sideload(:advisor) + + expect(jsonapi_data).to have(1).item + expect(jsonapi_data[0].id).to eq camp.id + expect(advisor_data).to be_nil + end + + it 'works for courses' do + params[:filter] = { id: { eq: course.id } } + render + + advisor_data = d[0].sideload(:advisor) + + expect(jsonapi_data).to have(1).item + expect(jsonapi_data[0].id).to eq course.id + expect(advisor_data.id).to eq person.id + end + end +end