summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples/workers/pages_domain_cron_worker_shared_examples.rb
blob: c79e3ed7d218f205c3c74693297670baa70a8304 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

RSpec.shared_examples 'a pages cronjob scheduling jobs with context' do |scheduled_worker_class|
  let(:worker) { described_class.new }

  context 'with RequestStore enabled', :request_store do
    it 'does not cause extra queries for multiple domains' do
      control = ActiveRecord::QueryRecorder.new { worker.perform }

      extra_domain

      expect { worker.perform }.not_to exceed_query_limit(control)
    end
  end

  it 'schedules the renewal with a context' do
    extra_domain

    worker.perform

    expect(scheduled_worker_class.jobs.last).to include("meta.project" => extra_domain.project.full_path)
  end
end