Initial commit
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
require_relative '../spec_helper'
|
||||
require 'models/user_table_shared_examples'
|
||||
|
||||
describe UserTable do
|
||||
before(:all) do
|
||||
bypass_named_maps
|
||||
|
||||
@user = create_user(email: 'admin@cartotest.com', username: 'admin', password: '000123456')
|
||||
@carto_user = Carto::User.find(@user.id)
|
||||
|
||||
@user_table = ::UserTable.new
|
||||
|
||||
@user_table.user_id = @user.id
|
||||
@user_table.name = 'user_table'
|
||||
@user_table.save
|
||||
|
||||
# The dependent visualization models are in the Table class for the Sequel model
|
||||
@dependent_test_object = @user_table.service
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
@user_table.destroy
|
||||
@user.destroy
|
||||
end
|
||||
|
||||
it_behaves_like 'user table models' do
|
||||
def build_user_table(attrs = {})
|
||||
::UserTable.new.set_all(attrs)
|
||||
end
|
||||
end
|
||||
|
||||
it "can save large OIDs" do
|
||||
user_table = ::UserTable.new
|
||||
user_table.user_id = @user.id
|
||||
user_table.name = 'user_table_3'
|
||||
user_table.save
|
||||
user_table.reload
|
||||
|
||||
user_table.table_id = 2**32 - 1
|
||||
user_table.save
|
||||
user_table.reload
|
||||
user_table.table_id.should eq 2**32 - 1
|
||||
|
||||
user_table.destroy
|
||||
end
|
||||
|
||||
context 'viewer users' do
|
||||
after(:each) do
|
||||
@user.viewer = false
|
||||
@user.save
|
||||
end
|
||||
|
||||
it "can't create new user tables" do
|
||||
bypass_named_maps
|
||||
@user.viewer = true
|
||||
@user.save
|
||||
|
||||
@user_table = ::UserTable.new
|
||||
@user_table.user_id = @user.id
|
||||
@user_table.name = 'user_table_2'
|
||||
expect { @user_table.save }.to raise_error(Sequel::ValidationFailed, /Viewer users can't create tables/)
|
||||
end
|
||||
|
||||
it "can't delete user tables" do
|
||||
bypass_named_maps
|
||||
@user_table = ::UserTable.new
|
||||
@user_table.user_id = @user.id
|
||||
@user_table.name = 'user_table_2'
|
||||
@user_table.save
|
||||
@user.viewer = true
|
||||
@user.save
|
||||
@user_table.reload
|
||||
|
||||
expect { @user_table.destroy }.to raise_error(CartoDB::InvalidMember, /Viewer users can't destroy tables/)
|
||||
|
||||
@user.viewer = false
|
||||
@user.save
|
||||
@user_table.reload
|
||||
@user_table.destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user