Sha256: 619568306d82b05ab70f68a7d98e70378330237112562d8adef123cddae255bb

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require "spec_helper"

module Asyncapi
  module Server
    describe Job do
      it "has a table name of `asyncapi_server_jobs`" do
        expect(described_class.table_name).to eq "asyncapi_server_jobs"
      end

      describe "initialization" do
        subject do
          described_class.new(
            status: :queued,
            callback_url: 'http://callback_url.com',
            class_name: 'CreateStorageFacility',
            params: {param: 'values'}.to_json,
          )
        end

        its(:status) { is_expected.to eq "queued" }
        its(:callback_url) { is_expected.to eq "http://callback_url.com" }
        its(:class_name) { is_expected.to eq "CreateStorageFacility" }
        its(:params) { is_expected.to eq("{\"param\"=>\"values\"}") }

        context "status" do
          it "can also be assigned other values" do
            subject.status = :success
            subject.status = :error
            expect(subject.save).to eq(true)
          end
        end
      end

      describe "#url" do
        let(:job) { build_stubbed(:asyncapi_server_job) }
        it "is a url to the job" do
          expected_url = "http://test.com/asyncapi/server/v1/jobs/#{job.id}"
          expect(job.url).to eq expected_url
        end
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
asyncapi-server-1.3.0 spec/models/job_spec.rb
asyncapi-server-1.2.0 spec/models/job_spec.rb