From 109a826ea7414f9973f1424de011b6bfb6928a7b Mon Sep 17 00:00:00 2001 From: Mehal Shah Date: Wed, 21 Feb 2018 11:03:16 -0800 Subject: [PATCH] PR Feedback --- .../api/v1/regional_partners_controller.rb | 8 +++----- .../api/v1/regional_partners_controller_test.rb | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/dashboard/app/controllers/api/v1/regional_partners_controller.rb b/dashboard/app/controllers/api/v1/regional_partners_controller.rb index 0bc42cde72449..45478d3520fbf 100644 --- a/dashboard/app/controllers/api/v1/regional_partners_controller.rb +++ b/dashboard/app/controllers/api/v1/regional_partners_controller.rb @@ -14,10 +14,8 @@ def index # GET /api/v1/regional-partner/for_user def for_user - if current_user.permission? UserPermission::WORKSHOP_ADMIN - render json: RegionalPartner.all.pluck(:id, :name) - else - render json: current_user.regional_partners.pluck(:name, :id) - end + regional_partners = current_user.permission?(UserPermission::WORKSHOP_ADMIN) ? RegionalPartner.all : current_user.regional_partners + + render json: regional_partners.order(:name).map {|partner| {id: partner.id, name: partner.name}} end end diff --git a/dashboard/test/controllers/api/v1/regional_partners_controller_test.rb b/dashboard/test/controllers/api/v1/regional_partners_controller_test.rb index b6966e3003cc4..1f3f079592459 100644 --- a/dashboard/test/controllers/api/v1/regional_partners_controller_test.rb +++ b/dashboard/test/controllers/api/v1/regional_partners_controller_test.rb @@ -46,22 +46,32 @@ class Api::V1::RegionalPartnersControllerTest < ActionController::TestCase test 'for_user gets regional partners for user' do program_manager = create :teacher - regional_partner_for_user = create :regional_partner, name: 'Regional Partner 1' + + regional_partner_for_user = create :regional_partner, name: 'Regional Partner' regional_partner_for_user.program_manager = program_manager.id + + another_regional_partner_for_user = create :regional_partner, name: 'Another Regional Partner' + another_regional_partner_for_user.program_manager = program_manager.id + create :regional_partner, name: 'Other regional partner' sign_in program_manager get :for_user response = JSON.parse(@response.body) - assert_equal [['Regional Partner 1', regional_partner_for_user.id.to_s]], response + assert_equal [ + {'name' => 'Another Regional Partner', 'id' => another_regional_partner_for_user.id}, + {'name' => 'Regional Partner', 'id' => regional_partner_for_user.id} + ], response end test 'for_user gets all regional partners for workshop admin' do + regional_partner = create :regional_partner, name: 'New regional partner' sign_in (create :workshop_admin) get :for_user response = JSON.parse(@response.body) assert_equal RegionalPartner.count, response.length + assert response.include?({'id' => regional_partner.id, 'name' => regional_partner.name}) end end