From b167c4e9387f8b536d3d8129297989e28bd92f21 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Wed, 12 Jan 2022 02:51:18 +0100 Subject: [PATCH] Add tests for privacy settings --- spec/controllers/user_controller_spec.rb | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/spec/controllers/user_controller_spec.rb b/spec/controllers/user_controller_spec.rb index 050b64bd..ef51df37 100644 --- a/spec/controllers/user_controller_spec.rb +++ b/spec/controllers/user_controller_spec.rb @@ -76,6 +76,19 @@ describe UserController, type: :controller do end end + describe "#edit_privacy" do + subject { get :edit_privacy } + + context "user signed in" do + before(:each) { sign_in user } + + it "renders the user/edit_privacy template" do + subject + expect(response).to render_template("user/edit_privacy") + end + end + end + describe "#update" do subject { patch :update, params: { user: avatar_params } } let(:avatar_params) do @@ -121,6 +134,36 @@ describe UserController, type: :controller do end end + describe "#update_privacy" do + subject { patch :update_privacy, params: { user: user_params } } + let(:user_params) do + { + privacy_allow_anonymous_questions: false, + privacy_allow_public_timeline: false, + privacy_allow_stranger_answers: false, + privacy_show_in_search: false, + } + end + + context "user signed in" do + before(:each) { sign_in user } + + it "updates the user's profile" do + subject + user.reload + expect(user.privacy_allow_anonymous_questions).to eq(false) + expect(user.privacy_allow_public_timeline).to eq(false) + expect(user.privacy_allow_stranger_answers).to eq(false) + expect(user.privacy_show_in_search).to eq(false) + end + + it "redirects to the edit_user_profile page" do + subject + expect(response).to redirect_to(:edit_user_privacy) + end + end + end + describe "#update" do subject { patch :update, params: { user: header_params } } let(:header_params) do