From 1efed6e5276ec8c389cec99cc4e8d7a3e9379a6f Mon Sep 17 00:00:00 2001 From: Sam Saffron Date: Wed, 29 May 2019 15:05:37 +1000 Subject: [PATCH] DEV: amend test for anonymous handling to use real data Previously we relied on fabrication on anonymous, we can not get the transaction commit pipeline to work as it does in production, cleanly This amends it so our anonymous user is created using the core APIs Signed-off-by: Sam Saffron --- plugins/discourse-narrative-bot/spec/user_spec.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/discourse-narrative-bot/spec/user_spec.rb b/plugins/discourse-narrative-bot/spec/user_spec.rb index 8ddf472c372..f73c291f410 100644 --- a/plugins/discourse-narrative-bot/spec/user_spec.rb +++ b/plugins/discourse-narrative-bot/spec/user_spec.rb @@ -109,12 +109,17 @@ describe User do end context 'when user is anonymous?' do - let(:anonymous_user) { Fabricate(:anonymous) } - - it 'should not initiate the bot' do + before do SiteSetting.allow_anonymous_posting = true + end - expect { anonymous_user }.to_not change { Post.count } + it 'should initiate bot for real user only' do + + user = Fabricate(:user, trust_level: 1) + shadow = AnonymousShadowCreator.get(user) + + expect(TopicAllowedUser.where(user_id: shadow.id).count).to eq(0) + expect(TopicAllowedUser.where(user_id: user.id).count).to eq(1) end end