Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Learn more
Permalink
Browse files

Lookup editor by login (#632)

* Lookup editor by login

* Actually test the values
  • Loading branch information
arfon committed Nov 16, 2019
1 parent 601cc2e commit 3781f240c1fec481ed5697dc7e0201ef4ca71fb3
Showing with 23 additions and 1 deletion.
  1. +15 −1 app/controllers/editors_controller.rb
  2. +1 −0 config/routes.rb
  3. +7 −0 spec/controllers/editors_controller_spec.rb
@@ -1,5 +1,5 @@
class EditorsController < ApplicationController
before_action :require_admin_user
before_action :require_admin_user, except: [:lookup]
before_action :set_editor, only: [:show, :edit, :update, :destroy]

def index
@@ -13,6 +13,20 @@ def new
@editor = Editor.new
end

def lookup
editor = Editor.find_by_login(params[:login])
if editor.url
url = editor.url
else
url = "https://github.com/#{params[:login]}"
end

response = { name: "#{editor.first_name} #{editor.last_name}",
url: url }

render json: response.to_json
end

def edit
end

@@ -17,6 +17,7 @@
end
end

get '/editors/lookup/:login', to: "editors#lookup"
get '/papers/lookup/:id', to: "papers#lookup"
get '/papers/in/:language', to: "papers#filter", as: 'papers_by_language'
get '/papers/by/:author', to: "papers#filter", as: 'papers_by_author'
@@ -13,6 +13,13 @@
get :index
expect(response).to redirect_to %r(test.host/auth/orcid)
end

it "should allow the lookup of an editor" do
editor = create(:editor)
get :lookup, params: {login: editor.login }
expect(JSON.parse(response.body)['name']).to eq('Person McEditor')
expect(JSON.parse(response.body)['url']).to eq('http://placekitten.com')
end
end

context "when logged in as a non-admin user" do

0 comments on commit 3781f24

Please sign in to comment.
You can’t perform that action at this time.