Sha256: ee0c80ea0be994391ec777c6658d1595eaa013cb01c298ac5acc95c1bf795942

Contents?: true

Size: 1.83 KB

Versions: 11

Compression:

Stored size: 1.83 KB

Contents

require 'rails_helper'

module Mks
  module Auth
    RSpec.describe MenusController, type: :controller do
      routes { Mks::Auth::Engine.routes }

      before(:each) do
        u = create(:user)
        token = Mks::Auth::TokenAuth.issue(name: u.full_name, email: u.email, id: u.id)
        request.headers['Authorization'] = "Bearer #{token}"
      end

      describe 'GET #menus' do
        it 'gets menus for user' do
          m = create(:application_module)
          ur = create(:user_role, application_module: m)
          user = create(:user, roles: [ur])
          p1 = create(:menu, roles: [ur])
          p2 = create(:menu, roles: [ur])
          p3 = create(:menu)

          3.times { create(:menu, parent: p1, roles: [ur]) }
          3.times { create(:menu, parent: p2, roles: [ur]) }
          3.times { create(:menu, parent: p3) }

          get :menus, params: { id: user.id, app_module: m.code }
          result = JSON(response.body)
          expect(result['data'].count).to eq 2
        end

        it 'gets menus only for the current application module' do
          m1 = create(:application_module)
          m2 = create(:application_module)
          ur1 = create(:user_role, application_module: m1)
          ur2 = create(:user_role, application_module: m2)

          menu1 = create(:menu, application_module: m1, roles: [ur1])
          menu2 = create(:menu, application_module: m1, roles: [ur1])
          menu3 = create(:menu, application_module: m2, roles: [ur2])
          menu4 = create(:menu, application_module: m2, roles: [ur2])

          u = create(:user, roles: [ur1, ur2], application_modules: [m1, m2])

          get :menus, params: { id: u.id, app_module: m1.code }
          result = JSON(response.body)
          expect(result['data'].count).to eq 2
          # expect(result['data'])
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mks_auth-1.0.14 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.13 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.12 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.11 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.10 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.9 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.8 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.7 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.6 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.5 spec/controllers/mks/auth/menus_controller_spec.rb
mks_auth-1.0.4 spec/controllers/mks/auth/menus_controller_spec.rb