From fd566881d6bebc06ea8a3846c4f1192f1860be67 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Mon, 15 Sep 2014 00:19:04 -0700 Subject: [PATCH] Added tests for Active Job --- Gemfile | 1 + gemfiles/mongoid4.gemfile | 1 + lib/searchkick/model.rb | 4 ++-- test/reindex_job_test.rb | 4 ++-- test/reindex_v2_job_test.rb | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 test/reindex_v2_job_test.rb diff --git a/Gemfile b/Gemfile index 80512c4..98577d0 100644 --- a/Gemfile +++ b/Gemfile @@ -7,3 +7,4 @@ gem "sqlite3" gem "activerecord", ">= 3.1" # gem "activerecord", "~> 3.2.0" # gem "activerecord", "~> 3.1.0" +gem "activejob_backport" diff --git a/gemfiles/mongoid4.gemfile b/gemfiles/mongoid4.gemfile index 6001143..ffbbc87 100644 --- a/gemfiles/mongoid4.gemfile +++ b/gemfiles/mongoid4.gemfile @@ -4,3 +4,4 @@ source 'https://rubygems.org' gemspec path: "../" gem "mongoid", "~> 4.0.0" +gem "activejob_backport" diff --git a/lib/searchkick/model.rb b/lib/searchkick/model.rb index 234e70f..8411701 100644 --- a/lib/searchkick/model.rb +++ b/lib/searchkick/model.rb @@ -34,9 +34,9 @@ module Searchkick def reindex_async if defined?(Searchkick::ReindexV2Job) - Searchkick::ReindexV2Job.perform_later(self.class.name, id) + Searchkick::ReindexV2Job.perform_later(self.class.name, id.to_s) else - Delayed::Job.enqueue Searchkick::ReindexJob.new(self.class.name, id) + Delayed::Job.enqueue Searchkick::ReindexJob.new(self.class.name, id.to_s) end end diff --git a/test/reindex_job_test.rb b/test/reindex_job_test.rb index ade1266..3259adb 100644 --- a/test/reindex_job_test.rb +++ b/test/reindex_job_test.rb @@ -15,7 +15,7 @@ class TestReindexJob < Minitest::Test product = Product.create!(name: "Boom") Product.searchkick_index.refresh assert_search "*", [] - Searchkick::ReindexJob.new("Product", product.id).perform + Searchkick::ReindexJob.new("Product", product.id.to_s).perform Product.searchkick_index.refresh assert_search "*", ["Boom"] end @@ -25,7 +25,7 @@ class TestReindexJob < Minitest::Test Product.reindex assert_search "*", ["Boom"] product.destroy - Searchkick::ReindexJob.new("Product", product.id).perform + Searchkick::ReindexJob.new("Product", product.id.to_s).perform Product.searchkick_index.refresh assert_search "*", [] end diff --git a/test/reindex_v2_job_test.rb b/test/reindex_v2_job_test.rb new file mode 100644 index 0000000..7c6a000 --- /dev/null +++ b/test/reindex_v2_job_test.rb @@ -0,0 +1,37 @@ +require_relative "test_helper" + +class TestReindexV2Job < Minitest::Test + + def setup + super + Searchkick.disable_callbacks + end + + def teardown + Searchkick.enable_callbacks + end + + def test_create + skip if !defined?(ActiveJob) + + product = Product.create!(name: "Boom") + Product.searchkick_index.refresh + assert_search "*", [] + Searchkick::ReindexV2Job.perform_later("Product", product.id.to_s) + Product.searchkick_index.refresh + assert_search "*", ["Boom"] + end + + def test_destroy + skip if !defined?(ActiveJob) + + product = Product.create!(name: "Boom") + Product.reindex + assert_search "*", ["Boom"] + product.destroy + Searchkick::ReindexV2Job.perform_later("Product", product.id.to_s) + Product.searchkick_index.refresh + assert_search "*", [] + end + +end -- libgit2 0.21.0