Skip to content

Commit

Permalink
Merge pull request #323 from sul-dlss/add_openable_322
Browse files Browse the repository at this point in the history
Add a new openable route that will replace openeable
  • Loading branch information
jmartin-sul committed Aug 14, 2019
2 parents 4452b90 + f4c9143 commit 120d1e8
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 3 deletions.
1 change: 1 addition & 0 deletions Gemfile
Expand Up @@ -21,6 +21,7 @@ end

# Ruby general dependencies
gem 'config'
gem 'deprecation'
gem 'honeybadger'
gem 'okcomputer'

Expand Down
1 change: 1 addition & 0 deletions Gemfile.lock
Expand Up @@ -443,6 +443,7 @@ DEPENDENCIES
capistrano-shared_configs
config
coveralls (~> 0.8)
deprecation
dlss-capistrano
dor-services (~> 7.0)
equivalent-xml
Expand Down
10 changes: 10 additions & 0 deletions app/controllers/versions_controller.rb
@@ -1,6 +1,11 @@
# frozen_string_literal: true

require 'deprecation'

class VersionsController < ApplicationController
extend Deprecation
self.deprecation_horizon = 'dor-services-app 3.0.0'

before_action :load_item

def create
Expand All @@ -22,6 +27,11 @@ def close_current
end

def openeable
openable
end
deprecation_deprecate openeable: 'use openable instead'

def openable
render plain: VersionService.can_open?(@item, open_params).to_s
end

Expand Down
2 changes: 2 additions & 0 deletions config/routes.rb
Expand Up @@ -44,7 +44,9 @@

resources :versions, only: [:create] do
collection do
# TODO: Remove this route in dor-services-app 3.0.0
get 'openeable', to: 'openeable'
get 'openable', to: 'openable'
get 'current'
post 'current/close', action: 'close_current'
end
Expand Down
21 changes: 18 additions & 3 deletions spec/controllers/versions_controller_spec.rb
Expand Up @@ -110,14 +110,14 @@
end
end

describe '/versions/openeable' do
describe '/versions/openable' do
context 'when a new version can be opened' do
before do
allow(VersionService).to receive(:can_open?).and_return(true)
end

it 'returns true' do
get :openeable, params: { object_id: item.pid }
get :openable, params: { object_id: item.pid }
expect(response.body).to eq('true')
expect(response).to be_successful
end
Expand All @@ -129,10 +129,25 @@
end

it 'returns true' do
get :openeable, params: { object_id: item.pid }
get :openable, params: { object_id: item.pid }
expect(response.body).to eq('false')
expect(response).to be_successful
end
end
end

# TODO: Remove this in 3.0.0
describe '/versions/openeable' do
before do
allow(VersionService).to receive(:can_open?).and_return(true)
allow(Deprecation).to receive(:warn)
end

it 'delegates' do
get :openeable, params: { object_id: item.pid }
expect(response.body).to eq('true')
expect(response).to be_successful
expect(Deprecation).to have_received(:warn)
end
end
end

0 comments on commit 120d1e8

Please sign in to comment.