parent
6e7cd1e824
commit
0696084159
@ -0,0 +1,10 @@
|
||||
# coding: UTF-8
|
||||
require_relative '../shared_entity_shared_examples'
|
||||
|
||||
describe Carto::SharedEntity do
|
||||
it_behaves_like 'shared entity models' do
|
||||
def shared_entity_class
|
||||
Carto::SharedEntity
|
||||
end
|
||||
end
|
||||
end
|
@ -0,0 +1,81 @@
|
||||
require_relative '../spec_helper'
|
||||
|
||||
shared_examples_for 'shared entity models' do
|
||||
before(:all) do
|
||||
CartoDB::Varnish.any_instance.stubs(:send_command).returns(true)
|
||||
@user = create_user(:quota_in_bytes => 524288000, :table_quota => 500)
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
bypass_named_maps
|
||||
@user.destroy
|
||||
end
|
||||
|
||||
describe '#create' do
|
||||
it 'tests basic creation and validation' do
|
||||
recipient_id = UUIDTools::UUID.timestamp_create.to_s
|
||||
entity_id = UUIDTools::UUID.timestamp_create.to_s
|
||||
|
||||
shared_entity_class.where(entity_id: entity_id).count.should eq 0
|
||||
|
||||
shared_entity = shared_entity_class.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: shared_entity_class::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
entity_type: shared_entity_class::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity.valid?.should eq true
|
||||
shared_entity.errors.should be_empty
|
||||
shared_entity.save
|
||||
|
||||
shared_entity_class.where(entity_id: entity_id).count.should eq 1
|
||||
|
||||
shared_entity2 = shared_entity_class.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: shared_entity_class::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
entity_type: shared_entity_class::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity2.valid?.should eq false
|
||||
# Workaround for cross-ORM compatibility
|
||||
# shared_entity2.errors.should eq({[:recipient_id, :entity_id]=>['is already taken']})
|
||||
shared_entity2.errors.values.should eq([["is already taken"]])
|
||||
shared_entity.destroy
|
||||
|
||||
shared_entity_class.where(entity_id: entity_id).count.should eq 0
|
||||
|
||||
shared_entity = shared_entity_class.new(
|
||||
recipient_id: entity_id,
|
||||
recipient_type: shared_entity_class::RECIPIENT_TYPE_USER,
|
||||
entity_type: shared_entity_class::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = shared_entity_class.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: shared_entity_class::RECIPIENT_TYPE_USER,
|
||||
entity_type: shared_entity_class::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = shared_entity_class.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: shared_entity_class::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = shared_entity_class.new(
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = shared_entity_class.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: shared_entity_class::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
entity_type: 'whatever'
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
end
|
||||
end
|
||||
end
|
@ -1,87 +1,10 @@
|
||||
# coding: UTF-8
|
||||
|
||||
require_relative '../spec_helper'
|
||||
|
||||
include CartoDB
|
||||
require_relative 'shared_entity_shared_examples'
|
||||
|
||||
describe CartoDB::SharedEntity do
|
||||
|
||||
before(:all) do
|
||||
CartoDB::Varnish.any_instance.stubs(:send_command).returns(true)
|
||||
@user = create_user(:quota_in_bytes => 524288000, :table_quota => 500)
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
bypass_named_maps
|
||||
@user.destroy
|
||||
end
|
||||
|
||||
describe '#create' do
|
||||
it 'tests basic creation and validation' do
|
||||
recipient_id = UUIDTools::UUID.timestamp_create.to_s
|
||||
entity_id = UUIDTools::UUID.timestamp_create.to_s
|
||||
|
||||
SharedEntity.where(entity_id: entity_id).count.should eq 0
|
||||
|
||||
shared_entity = SharedEntity.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: SharedEntity::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
entity_type: SharedEntity::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity.valid?.should eq true
|
||||
shared_entity.errors.should eq Hash.new
|
||||
shared_entity.save
|
||||
|
||||
SharedEntity.where(entity_id: entity_id).count.should eq 1
|
||||
|
||||
shared_entity2 = SharedEntity.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: SharedEntity::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
entity_type: SharedEntity::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity2.valid?.should eq false
|
||||
shared_entity2.errors.should eq({[:recipient_id, :entity_id]=>['is already taken']})
|
||||
|
||||
shared_entity.destroy
|
||||
|
||||
SharedEntity.where(entity_id: entity_id).count.should eq 0
|
||||
|
||||
shared_entity = SharedEntity.new(
|
||||
recipient_id: entity_id,
|
||||
recipient_type: SharedEntity::RECIPIENT_TYPE_USER,
|
||||
entity_type: SharedEntity::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = SharedEntity.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: SharedEntity::RECIPIENT_TYPE_USER,
|
||||
entity_type: SharedEntity::ENTITY_TYPE_VISUALIZATION
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = SharedEntity.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: SharedEntity::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = SharedEntity.new(
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
|
||||
shared_entity = SharedEntity.new(
|
||||
recipient_id: recipient_id,
|
||||
recipient_type: SharedEntity::RECIPIENT_TYPE_USER,
|
||||
entity_id: entity_id,
|
||||
entity_type: 'whatever'
|
||||
)
|
||||
shared_entity.valid?.should eq false
|
||||
it_behaves_like 'shared entity models' do
|
||||
def shared_entity_class
|
||||
CartoDB::SharedEntity
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
Reference in new issue