Bläddra i källkod

Coverage for api/web/settings controller (#3238)

master
Matt Jankowski 7 år sedan
committed by Eugen Rochko
förälder
incheckning
a28ce13b3e
2 ändrade filer med 30 tillägg och 1 borttagningar
  1. +6
    -1
      app/controllers/api/web/settings_controller.rb
  2. +24
    -0
      spec/controllers/api/web/settings_controller_spec.rb

+ 6
- 1
app/controllers/api/web/settings_controller.rb Visa fil

@@ -6,10 +6,15 @@ class Api::Web::SettingsController < ApiController
before_action :require_user!

def update
setting = ::Web::Setting.where(user: current_user).first_or_initialize(user: current_user)
setting.data = params[:data]
setting.save!

render_empty
end

private

def setting
@_setting ||= ::Web::Setting.where(user: current_user).first_or_initialize(user: current_user)
end
end

+ 24
- 0
spec/controllers/api/web/settings_controller_spec.rb Visa fil

@@ -0,0 +1,24 @@
# frozen_string_literal: true

require 'rails_helper'

describe Api::Web::SettingsController do
render_views

let!(:user) { Fabricate(:user) }

describe 'PATCH #update' do
it 'redirects to about page' do
sign_in(user)
patch :update, format: :json, params: { data: { 'onboarded' => true } }

user.reload
expect(response).to have_http_status(:success)
expect(user_web_setting.data['onboarded']).to eq('true')
end

def user_web_setting
Web::Setting.where(user: user).first
end
end
end

Laddar…
Avbryt
Spara