spec/collection_spec.rb in rasti-db-2.3.3 vs spec/collection_spec.rb in rasti-db-3.0.0
- old
+ new
@@ -50,11 +50,11 @@
end
it 'Insert with many to many' do
user_id = db[:users].insert name: 'User 1'
- 1.upto(2) do |i|
+ 1.upto(2) do |i|
db[:posts].insert user_id: user_id, title: "Post #{i}", body: '...', language_id: 1
db[:categories].insert name: "Category #{i}"
end
post_id = posts.insert user_id: user_id, title: 'Post title', body: '...', categories: [1,2], language_id: 1
@@ -63,11 +63,11 @@
db[:categories_posts].where(post_id: post_id).map(:category_id).must_equal [1,2]
db[:categories_posts].where(category_id: category_id).map(:post_id).must_equal [1,2]
end
it 'Insert only many to many' do
- 1.upto(3) do |i|
+ 1.upto(3) do |i|
db[:categories].insert name: "Category #{i}"
end
user_id = db[:users].insert name: 'User 1'
post_id = db[:posts].insert user_id: user_id, title: 'Post title', body: '...', language_id: 1
@@ -99,11 +99,11 @@
end
it 'Update with many to many' do
user_id = db[:users].insert name: 'User 1'
- 1.upto(3) do |i|
+ 1.upto(3) do |i|
db[:posts].insert user_id: user_id, title: "Post #{i}", body: '...', language_id: 1
db[:categories].insert name: "Category #{i}"
end
db[:categories_posts].insert post_id: 1, category_id: 1
@@ -113,15 +113,15 @@
db[:categories_posts].where(post_id: 1).map(:category_id).must_equal [1,2]
posts.update 1, categories: [2,3]
db[:categories_posts].where(post_id: 1).map(:category_id).must_equal [2,3]
-
+
db[:categories_posts].where(category_id: 2).map(:post_id).must_equal [1,2]
categories.update 2, posts: [2,3]
-
+
db[:categories_posts].where(category_id: 2).map(:post_id).must_equal [2,3]
end
it 'Bulk update' do
user_id = db[:users].insert name: 'User 1'
@@ -143,11 +143,11 @@
db[:users].count.must_equal 0
end
it 'Delete only many to many' do
- 1.upto(3) do |i|
+ 1.upto(3) do |i|
db[:categories].insert name: "Category #{i}"
end
user_id = db[:users].insert name: 'User 1'
post_id = db[:posts].insert user_id: user_id, title: 'Post title', body: '...', language_id: 1
@@ -170,18 +170,18 @@
before :each do
1.upto(3) do |i|
user_id = db[:users].insert name: "User #{i}"
- db[:people].insert document_number: "document_#{i}",
+ db[:people].insert document_number: "document_#{i}",
first_name: "John #{i}",
last_name: "Doe #{i}",
birth_date: Time.now - i,
user_id: user_id
- category_id = db[:categories].insert name: "Category #{i}"
-
+ category_id = db[:categories].insert name: "Category #{i}"
+
1.upto(3) do |n|
post_id = db[:posts].insert user_id: user_id, title: "Post #{i}.#{n}", body: '...', language_id: 1
db[:categories_posts].insert post_id: post_id, category_id: category_id
end
end
@@ -225,11 +225,11 @@
db[:people].where(user_id: 1).count.must_equal 0
db[:comments].where(user_id: 1).count.must_equal 0
db[:posts].where(user_id: 1).count.must_equal 0
db[:comments].join(:posts, id: :post_id).where(Sequel[:posts][:user_id] => 1).count.must_equal 0
db[:categories_posts].join(:posts, id: :post_id).where(Sequel[:posts][:user_id] => 1).count.must_equal 0
-
+
db[:users].count.must_equal 2
db[:people].count.must_equal 2
db[:categories].count.must_equal 3
db[:posts].count.must_equal 6
db[:categories_posts].count.must_equal 6
@@ -239,13 +239,13 @@
end
describe 'Multiple data sources' do
before do
- 1.upto(3) do |i|
+ 1.upto(3) do |i|
db[:users].insert name: "User #{i}"
- db[:people].insert document_number: "document_#{i}",
+ db[:people].insert document_number: "document_#{i}",
first_name: "John #{i}",
last_name: "Doe #{i}",
birth_date: Time.now - i,
user_id: i
end
@@ -301,11 +301,11 @@
describe 'Queries' do
it 'Find' do
id = db[:users].insert name: 'User 1'
-
+
users.find(id).must_equal User.new(id: id, name: 'User 1')
end
it 'Find graph' do
user_id = db[:users].insert name: 'User 1'
@@ -408,30 +408,30 @@
custom_db[:languages].insert name: 'Spanish'
custom_db[:languages].insert name: 'English'
1.upto(2) do |i|
db[:categories].insert name: "Category #{i}"
-
+
db[:users].insert name: "User #{i}"
-
- db[:people].insert document_number: "document_#{i}",
+
+ db[:people].insert document_number: "document_#{i}",
first_name: "John #{i}",
last_name: "Doe #{i}",
birth_date: Time.now - i,
user_id: i
-
+
end
db[:languages_people].insert language_id: 1, document_number: 'document_1'
db[:languages_people].insert language_id: 2, document_number: 'document_2'
- 1.upto(3) do |i|
+ 1.upto(3) do |i|
db[:posts].insert user_id: 1, title: "Post #{i}", body: '...', language_id: 1
db[:categories_posts].insert category_id: 1, post_id: i
end
-
- 4.upto(5) do |i|
+
+ 4.upto(5) do |i|
db[:posts].insert user_id: 2, title: "Post #{i}", body: '...', language_id: 2
db[:categories_posts].insert category_id: 2, post_id: i
end
end
@@ -473,11 +473,11 @@
end
it 'Global' do
result_1 = posts.created_by(1)
result_1.primary_keys.must_equal [1,2,3]
-
+
result_2 = posts.created_by(2)
result_2.primary_keys.must_equal [4,5]
end
it 'Chained' do
@@ -488,11 +488,11 @@
end
it 'Graph' do
1.upto(3) do |i|
db[:users].insert name: "User #{i}"
- db[:people].insert document_number: "document_#{i}",
+ db[:people].insert document_number: "document_#{i}",
first_name: "John #{i}",
last_name: "Doe #{i}",
birth_date: Time.now - i,
user_id: i
db[:categories].insert name: "Category #{i}"
@@ -519,14 +519,14 @@
posts_graph[0].comments.each_with_index do |comment, index|
i = index + 1
comment.post_id.must_equal 1
comment.user_id.must_equal i
-
+
comment.user.id.must_equal i
comment.user.name.must_equal "User #{i}"
-
+
comment.user.posts.count.must_equal 1
comment.user.posts[0].id.must_equal i
comment.user.posts[0].title.must_equal "Post #{i}"
comment.user.posts[0].user_id.must_equal i
@@ -542,11 +542,11 @@
let :stub_db do
stubs = Proc.new do |sql|
case sql
- when 'SELECT users.* FROM schema_1.users',
+ when 'SELECT users.* FROM schema_1.users',
'SELECT users.* FROM schema_1.users WHERE (users.id IN (2, 1))'
[
{id: 1},
{id: 2}
]
@@ -586,11 +586,11 @@
end
Sequel.mock fetch: stubs, autoid: autoid
end
- let :stub_environment do
+ let :stub_environment do
Rasti::DB::Environment.new default: Rasti::DB::DataSource.new(stub_db, :schema_1),
custom: Rasti::DB::DataSource.new(stub_db, :schema_2)
end
let(:stub_users) { Users.new stub_environment }
@@ -625,11 +625,11 @@
it 'Insert in multiple schemas' do
stub_languages.insert name: 'Spanish'
stub_users.insert name: 'User 1'
- stub_people.insert document_number: 'document_1',
+ stub_people.insert document_number: 'document_1',
first_name: 'John',
last_name: 'Doe',
birth_date: Time.parse('2020-04-24'),
user_id: 1,
languages: [1]
@@ -678,10 +678,10 @@
it 'Graph' do
stub_posts.graph(:user, :categories, 'comments.user.posts.categories', 'language.people').all
stub_db.sqls.must_equal [
'SELECT posts.* FROM schema_1.posts',
- 'SELECT categories.*, categories_posts.post_id AS source_foreign_key FROM schema_1.categories INNER JOIN schema_1.categories_posts ON (schema_1.categories_posts.category_id = schema_1.categories.id) WHERE (categories_posts.post_id IN (3, 4))',
+ 'SELECT categories.*, categories_posts.post_id AS source_foreign_key FROM schema_1.categories INNER JOIN schema_1.categories_posts ON (schema_1.categories_posts.category_id = schema_1.categories.id) WHERE (categories_posts.post_id IN (3, 4))',
'SELECT comments.* FROM schema_1.comments WHERE (comments.post_id IN (3, 4))',
'SELECT users.* FROM schema_1.users WHERE (users.id IN (2, 1))',
'SELECT posts.* FROM schema_1.posts WHERE (posts.user_id IN (1, 2))',
'SELECT categories.*, categories_posts.post_id AS source_foreign_key FROM schema_1.categories INNER JOIN schema_1.categories_posts ON (schema_1.categories_posts.category_id = schema_1.categories.id) WHERE (categories_posts.post_id IN (3, 4))',
'SELECT languages.* FROM schema_2.languages WHERE (languages.id IN (1, 2))',
\ No newline at end of file