Sha256: 7b4f13e7a0fbb9a1f7c01cb34af4ca18c2db46176a5778c392e6ccc6f4fc71c9

Contents?: true

Size: 1.75 KB

Versions: 11

Compression:

Stored size: 1.75 KB

Contents

require 'spec_helper'

RSpec.describe CanvasSync::Jobs::SyncProvisioningReportJob do
  describe '#perform' do
    context 'a term scope is specified' do
      let!(:term) { FactoryGirl.create(:term) }

      it 'enqueues a ReportStarter for a provisioning report for the specified models for each term' do
        expect(CanvasSync::Jobs::ReportStarter).to receive(:perform_later)
          .with(
            'proservices_provisioning_csv',
            {
              parameters: {
                include_deleted: true,
                'users' => true,
                'courses' => true,
                enrollment_term_id: term.canvas_id
              }
            },
            CanvasSync::Processors::ProvisioningReportProcessor.to_s,
            { models: ['users', 'courses'], term_scope: 'active' }
          )

        set_batch_context(canvas_term_id: term.canvas_id)
        CanvasSync::Jobs::SyncProvisioningReportJob.perform_now(
          { models: ['users', 'courses'], term_scope: 'active' }
        )
      end
    end

    context 'a term scope is not specified' do
      it 'enqueues a single ReportStarter for a provisioning report across all terms for the specified models' do
        expect(CanvasSync::Jobs::ReportStarter).to receive(:perform_later)
          .with(
            'proservices_provisioning_csv',
            {
              parameters: {
                include_deleted: true,
                'users' => true,
                'courses' => true,
              }
            },
            CanvasSync::Processors::ProvisioningReportProcessor.to_s,
            { models: ['users', 'courses'] }
          )

        CanvasSync::Jobs::SyncProvisioningReportJob.perform_now(
          { models: ['users', 'courses'] }
        )
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
canvas_sync-0.17.0.beta11 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta10 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta9 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta8 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta7 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta6 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta5 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta4 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta3 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta2 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
canvas_sync-0.17.0.beta1 spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb