Sha256: e20f7619bd15e68d9e62ae2555658646f073093878241b13bd2ce06f1ff39771

Contents?: true

Size: 1.46 KB

Versions: 3

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Lita::Handlers::LockerHttp, lita_handler: true do
  let(:request) do
    request = double('Rack::Request')
    allow(request).to receive(:env).and_return(params)
    request
  end

  let(:params) do
    { 'router.params' => { name: 'foo' } }
  end

  let(:response) do
    Rack::Response.new
  end

  it do
    is_expected.to route_http(:get, '/locker/label/foobar').to(:label_show)
    is_expected.to route_http(:get, '/locker/resource/foobar').to(:resource_show)
  end

  describe '#label_show' do
    it 'shows json if the label exists' do
      send_command('locker label create foo')
      subject.label_show(request, response)
      expect(response.body).to eq(['{"id":"foo","state":"unlocked","membership":{"key":"label:foo:membership","options":{"type":"set"},"value":[]}}'])
    end

    it 'shows 404 if the label does not exist' do
      subject.label_show(request, response)
      expect(response.status).to eq(404)
    end
  end

  describe '#resource_show' do
    it 'shows json if the resource exists' do
      robot.auth.add_user_to_group!(user, :locker_admins)
      send_command('locker resource create foo')
      subject.resource_show(request, response)
      expect(response.body).to eq(['{"id":"foo","state":"unlocked","owner_id":""}'])
    end

    it 'shows 404 if the resource does not exist' do
      subject.resource_show(request, response)
      expect(response.status).to eq(404)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lita-locker-1.2.0 spec/lita/handlers/locker_http_spec.rb
lita-locker-1.1.1 spec/lita/handlers/locker_http_spec.rb
lita-locker-1.1.0 spec/lita/handlers/locker_http_spec.rb