Skip to content

Commit 22d1dc1

Browse files
committed
fix(ingredient/page_serializer): Wrap page in decorator
We need the Page decorator in order to serialize it and its elements.
1 parent 82a7fdd commit 22d1dc1

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

app/serializers/alchemy/json_api/ingredient_page_serializer.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ class IngredientPageSerializer < BaseSerializer
1919
ingredient.page&.url_path
2020
end
2121

22-
has_one :page, record_type: :page, serializer: ::Alchemy::JsonApi::PageSerializer
22+
has_one :page, record_type: :page, serializer: PageSerializer do |ingredient|
23+
ingredient.page&.tap { Page.new(_1) }
24+
end
2325
end
2426
end
2527
end

spec/serializers/alchemy/json_api/ingredient_page_serializer_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
require "rails_helper"
44

55
RSpec.describe Alchemy::JsonApi::IngredientPageSerializer do
6-
let(:ingredient) { FactoryBot.build_stubbed(:alchemy_ingredient_page, page: page) }
7-
let(:page) { FactoryBot.build_stubbed(:alchemy_page) }
6+
let(:ingredient) { FactoryBot.create(:alchemy_ingredient_page, page: page) }
7+
let(:page) { FactoryBot.create(:alchemy_page) }
88

99
let(:serializer) { described_class.new(ingredient) }
1010

@@ -38,7 +38,7 @@
3838
let(:page) { nil }
3939

4040
describe "attributes" do
41-
it "has no ingredient" do
41+
it "has no value" do
4242
expect(subject[:value]).to be_nil
4343
end
4444

0 commit comments

Comments
 (0)