diff options
Diffstat (limited to 'spec/requests/api/users_spec.rb')
-rw-r--r-- | spec/requests/api/users_spec.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb index 7d63a031666..6d1b76a9aea 100644 --- a/spec/requests/api/users_spec.rb +++ b/spec/requests/api/users_spec.rb @@ -832,6 +832,13 @@ describe API::Users, :do_not_mock_admin_mode do expect(user.reload.private_profile).to eq(false) end + it "does have default values for theme and color-scheme ID" do + put api("/users/#{user.id}", admin), params: {} + + expect(user.reload.theme_id).to eq(Gitlab::Themes.default.id) + expect(user.reload.color_scheme_id).to eq(Gitlab::ColorSchemes.default.id) + end + it "updates private profile" do put api("/users/#{user.id}", admin), params: { private_profile: true } @@ -857,6 +864,19 @@ describe API::Users, :do_not_mock_admin_mode do expect(user.reload.private_profile).to eq(true) end + it "does not modify theme or color-scheme ID when field is not provided" do + theme = Gitlab::Themes.each.find { |t| t.id != Gitlab::Themes.default.id } + scheme = Gitlab::ColorSchemes.each.find { |t| t.id != Gitlab::ColorSchemes.default.id } + + user.update(theme_id: theme.id, color_scheme_id: scheme.id) + + put api("/users/#{user.id}", admin), params: {} + + expect(response).to have_gitlab_http_status(:ok) + expect(user.reload.theme_id).to eq(theme.id) + expect(user.reload.color_scheme_id).to eq(scheme.id) + end + it "does not update admin status" do put api("/users/#{admin_user.id}", admin), params: { can_create_group: false } |