From 9518d6b587119c353de412ad1c7b5ef920db41b2 Mon Sep 17 00:00:00 2001
From: Joffrey JAFFEUX <j.jaffeux@gmail.com>
Date: Wed, 17 Jun 2020 15:10:07 +0200
Subject: [PATCH] fix spec (#10061)

---
 .../serializers/topic_view_serializer_spec.rb | 40 +++++++++++++------
 1 file changed, 27 insertions(+), 13 deletions(-)

diff --git a/spec/serializers/topic_view_serializer_spec.rb b/spec/serializers/topic_view_serializer_spec.rb
index f6249b275bb..55a9652fddc 100644
--- a/spec/serializers/topic_view_serializer_spec.rb
+++ b/spec/serializers/topic_view_serializer_spec.rb
@@ -312,22 +312,36 @@ describe TopicViewSerializer do
   context "published_page" do
     fab!(:published_page) { Fabricate(:published_page, topic: topic) }
 
-    it "doesn't return the published page if not enabled" do
-      json = serialize_topic(topic, admin)
-      expect(json[:published_page]).to be_blank
+    context "page publishing is disabled" do
+      before do
+        SiteSetting.enable_page_publishing = false
+      end
+
+      it "doesn't return the published page if not enabled" do
+        json = serialize_topic(topic, admin)
+        expect(json[:published_page]).to be_blank
+      end
     end
 
-    it "doesn't return the published page unless staff" do
-      SiteSetting.enable_page_publishing = true
-      json = serialize_topic(topic, user)
-      expect(json[:published_page]).to be_blank
-    end
+    context "page publishing is enabled" do
+      before do
+        SiteSetting.enable_page_publishing = true
+      end
 
-    it "returns the published page if enabled and staff" do
-      SiteSetting.enable_page_publishing = true
-      json = serialize_topic(topic, admin)
-      expect(json[:published_page]).to be_present
-      expect(json[:published_page][:slug]).to eq("published-page-test")
+      context "not staff" do
+        it "doesn't return the published page" do
+          json = serialize_topic(topic, user)
+          expect(json[:published_page]).to be_blank
+        end
+      end
+
+      context "staff" do
+        it "returns the published page" do
+          json = serialize_topic(topic, admin)
+          expect(json[:published_page]).to be_present
+          expect(json[:published_page][:slug]).to eq(published_page.slug)
+        end
+      end
     end
   end