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

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

  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

  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