Sha256: 2874cd6d126ce259ca23bf712af87cb871e692775fd45738bb54f3f701ba38c6

Contents?: true

Size: 1.77 KB

Versions: 28

Compression:

Stored size: 1.77 KB

Contents

require 'test_helper'

module Workarea
  class ProcessImportTest < TestCase
    include TestCase::Mail

    def test_perform
      user = create_user(email: 'test@workarea.com')
      import = create_import(
        model_type: Workarea::Catalog::Product,
        file: create_tempfile([create_product].to_json, extension: 'json'),
        created_by_id: user.id
      )

      ProcessImport.new.perform(import.id)
      import.reload

      assert_equal(1, Catalog::Product.count)
      assert(import.started_at.present?)
      assert(import.completed_at.present?)
      refute(import.file_errors.present?)

      email = ActionMailer::Base.deliveries.last
      assert_includes(email.to, user.email)
      assert_includes(email.subject, import.name.downcase)
    end

    def test_perform_when_import_fails
      user = create_user(email: 'test@workarea.com')
      sample = create_product
      sample.name = ''
      file = create_tempfile([sample].to_json, extension: 'json')

      import = create_import(
        model_type: Workarea::Catalog::Product,
        file: file,
        created_by_id: user.id
      )

      ProcessImport.new.perform(import.id)
      import.reload

      assert_equal(1, Catalog::Product.count)
      assert(import.started_at.present?)
      assert(import.completed_at.present?)
      assert(import.file_errors.present?)

      email = ActionMailer::Base.deliveries.last
      assert_includes(email.to, user.email)
      assert_includes(email.subject, import.name.downcase)
      assert_includes(
        email.parts.second.body,
        t('workarea.admin.data_file_mailer.import_failure.errors')
      )
    end

    def test_perform_with_missing_import
      assert_raises Mongoid::Errors::DocumentNotFound do
        ProcessImport.new.perform('foo')
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
workarea-core-3.5.27 test/workers/workarea/process_import_test.rb
workarea-core-3.5.26 test/workers/workarea/process_import_test.rb
workarea-core-3.4.45 test/workers/workarea/process_import_test.rb
workarea-core-3.5.25 test/workers/workarea/process_import_test.rb
workarea-core-3.5.23 test/workers/workarea/process_import_test.rb
workarea-core-3.4.44 test/workers/workarea/process_import_test.rb
workarea-core-3.5.22 test/workers/workarea/process_import_test.rb
workarea-core-3.4.43 test/workers/workarea/process_import_test.rb
workarea-core-3.5.21 test/workers/workarea/process_import_test.rb
workarea-core-3.4.42 test/workers/workarea/process_import_test.rb
workarea-core-3.5.20 test/workers/workarea/process_import_test.rb
workarea-core-3.4.41 test/workers/workarea/process_import_test.rb
workarea-core-3.5.19 test/workers/workarea/process_import_test.rb
workarea-core-3.4.40 test/workers/workarea/process_import_test.rb
workarea-core-3.5.18 test/workers/workarea/process_import_test.rb
workarea-core-3.4.39 test/workers/workarea/process_import_test.rb
workarea-core-3.5.17 test/workers/workarea/process_import_test.rb
workarea-core-3.4.38 test/workers/workarea/process_import_test.rb
workarea-core-3.5.16 test/workers/workarea/process_import_test.rb
workarea-core-3.4.37 test/workers/workarea/process_import_test.rb