Commit fd566881d6bebc06ea8a3846c4f1192f1860be67

Authored by Andrew Kane
1 parent 4eef506d

Added tests for Active Job

@@ -7,3 +7,4 @@ gem "sqlite3" @@ -7,3 +7,4 @@ gem "sqlite3"
7 gem "activerecord", ">= 3.1" 7 gem "activerecord", ">= 3.1"
8 # gem "activerecord", "~> 3.2.0" 8 # gem "activerecord", "~> 3.2.0"
9 # gem "activerecord", "~> 3.1.0" 9 # gem "activerecord", "~> 3.1.0"
  10 +gem "activejob_backport"
gemfiles/mongoid4.gemfile
@@ -4,3 +4,4 @@ source 'https://rubygems.org' @@ -4,3 +4,4 @@ source 'https://rubygems.org'
4 gemspec path: "../" 4 gemspec path: "../"
5 5
6 gem "mongoid", "~> 4.0.0" 6 gem "mongoid", "~> 4.0.0"
  7 +gem "activejob_backport"
lib/searchkick/model.rb
@@ -34,9 +34,9 @@ module Searchkick @@ -34,9 +34,9 @@ module Searchkick
34 34
35 def reindex_async 35 def reindex_async
36 if defined?(Searchkick::ReindexV2Job) 36 if defined?(Searchkick::ReindexV2Job)
37 - Searchkick::ReindexV2Job.perform_later(self.class.name, id) 37 + Searchkick::ReindexV2Job.perform_later(self.class.name, id.to_s)
38 else 38 else
39 - Delayed::Job.enqueue Searchkick::ReindexJob.new(self.class.name, id) 39 + Delayed::Job.enqueue Searchkick::ReindexJob.new(self.class.name, id.to_s)
40 end 40 end
41 end 41 end
42 42
test/reindex_job_test.rb
@@ -15,7 +15,7 @@ class TestReindexJob < Minitest::Test @@ -15,7 +15,7 @@ class TestReindexJob < Minitest::Test
15 product = Product.create!(name: "Boom") 15 product = Product.create!(name: "Boom")
16 Product.searchkick_index.refresh 16 Product.searchkick_index.refresh
17 assert_search "*", [] 17 assert_search "*", []
18 - Searchkick::ReindexJob.new("Product", product.id).perform 18 + Searchkick::ReindexJob.new("Product", product.id.to_s).perform
19 Product.searchkick_index.refresh 19 Product.searchkick_index.refresh
20 assert_search "*", ["Boom"] 20 assert_search "*", ["Boom"]
21 end 21 end
@@ -25,7 +25,7 @@ class TestReindexJob < Minitest::Test @@ -25,7 +25,7 @@ class TestReindexJob < Minitest::Test
25 Product.reindex 25 Product.reindex
26 assert_search "*", ["Boom"] 26 assert_search "*", ["Boom"]
27 product.destroy 27 product.destroy
28 - Searchkick::ReindexJob.new("Product", product.id).perform 28 + Searchkick::ReindexJob.new("Product", product.id.to_s).perform
29 Product.searchkick_index.refresh 29 Product.searchkick_index.refresh
30 assert_search "*", [] 30 assert_search "*", []
31 end 31 end
test/reindex_v2_job_test.rb 0 → 100644
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
  1 +require_relative "test_helper"
  2 +
  3 +class TestReindexV2Job < Minitest::Test
  4 +
  5 + def setup
  6 + super
  7 + Searchkick.disable_callbacks
  8 + end
  9 +
  10 + def teardown
  11 + Searchkick.enable_callbacks
  12 + end
  13 +
  14 + def test_create
  15 + skip if !defined?(ActiveJob)
  16 +
  17 + product = Product.create!(name: "Boom")
  18 + Product.searchkick_index.refresh
  19 + assert_search "*", []
  20 + Searchkick::ReindexV2Job.perform_later("Product", product.id.to_s)
  21 + Product.searchkick_index.refresh
  22 + assert_search "*", ["Boom"]
  23 + end
  24 +
  25 + def test_destroy
  26 + skip if !defined?(ActiveJob)
  27 +
  28 + product = Product.create!(name: "Boom")
  29 + Product.reindex
  30 + assert_search "*", ["Boom"]
  31 + product.destroy
  32 + Searchkick::ReindexV2Job.perform_later("Product", product.id.to_s)
  33 + Product.searchkick_index.refresh
  34 + assert_search "*", []
  35 + end
  36 +
  37 +end