Sha256: b99c081e4eb1d62582d2fa0f3908e4701a4bd51cfdf412b0cda4aa3d03bc5ddf

Contents?: true

Size: 1.98 KB

Versions: 1

Compression:

Stored size: 1.98 KB

Contents

require 'minitest_helper'

describe Asynchronic::DataStore::Lookup do

  describe 'One level' do

    let(:job) { Asynchronic::Job.new }
    let(:lookup) { Asynchronic::DataStore::Lookup.new job }

    it 'Id' do
      lookup.id.must_equal "job:#{job.id}"
    end

    it 'Status' do
      lookup.status.must_equal "job:#{job.id}:status"
    end

    it 'Data' do
      lookup.data.must_equal "job:#{job.id}:data"
    end

    it 'Jobs' do
      lookup.jobs.must_equal "job:#{job.id}:jobs"
    end

    it 'Error' do
      lookup.error.must_equal "job:#{job.id}:error"
    end

    it 'Created At' do
      lookup.created_at.must_equal "job:#{job.id}:created_at"
    end

    it 'Queued At' do
      lookup.queued_at.must_equal "job:#{job.id}:queued_at"
    end

    it 'Started At' do
      lookup.started_at.must_equal "job:#{job.id}:started_at"
    end

    it 'Finalized At' do
      lookup.finalized_at.must_equal "job:#{job.id}:finalized_at"
    end

  end

  describe 'Two levels' do

    let(:parent) { "job:#{SecureRandom.uuid}" }
    let(:job) { Asynchronic::Job.new parent: parent }
    let(:lookup) { Asynchronic::DataStore::Lookup.new job }

    it 'Id' do
      lookup.id.must_equal "#{parent}:jobs:#{job.id}"
    end

    it 'Status' do
      lookup.status.must_equal "#{parent}:jobs:#{job.id}:status"
    end

    it 'Data' do
      lookup.data.must_equal "#{parent}:jobs:#{job.id}:data"
    end

    it 'Jobs' do
      lookup.jobs.must_equal "#{parent}:jobs:#{job.id}:jobs"
    end

    it 'Error' do
      lookup.error.must_equal "#{parent}:jobs:#{job.id}:error"
    end

    it 'Created At' do
      lookup.created_at.must_equal "#{parent}:jobs:#{job.id}:created_at"
    end

    it 'Queued At' do
      lookup.queued_at.must_equal "#{parent}:jobs:#{job.id}:queued_at"
    end

    it 'Started At' do
      lookup.started_at.must_equal "#{parent}:jobs:#{job.id}:started_at"
    end

    it 'Finalized At' do
      lookup.finalized_at.must_equal "#{parent}:jobs:#{job.id}:finalized_at"
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
asynchronic-0.1.0 spec/data_store/lookup_spec.rb