47 lines
1.3 KiB
Ruby
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
|