cartodb-4.42/spec/requests/carto/api/static_notifications_controller_spec.rb
2024-04-06 05:25:13 +00:00

47 lines
1.3 KiB
Ruby

require 'spec_helper_min'
require 'support/helpers'
describe Carto::Api::StaticNotificationsController do
include Carto::Factories::Visualizations
include HelperMethods
before(:all) do
@user = FactoryGirl.create(:carto_user)
end
after(:all) do
# This avoids connection leaking.
::User[@user.id].destroy
end
let(:auth_params) do
{ user_domain: @user.username, api_key: @user.api_key }
end
let(:notification) do
{ analyses: { georeference: { show: false } } }
end
describe '#update' do
it 'updates the notification for the category' do
put_json(api_v3_static_notifications_update_url('builder', auth_params), notifications: notification) do |response|
response.status.should eq 200
response.body.should eq ({ notifications: notification })
end
end
it 'returns 403 if not authenticated' do
put_json(api_v3_static_notifications_update_url('builder', user_domain: 'wadus'), notifications: notification) do |response|
response.status.should eq 401
end
end
it 'returns 422 with incorrect category' do
put_json(api_v3_static_notifications_update_url('wadus', auth_params), notifications: notification) do |response|
response.status.should eq 422
response.body[:errors][:notifications].should include 'wadus'
end
end
end
end