spec/authorizy/expander/expand_spec.rb in authorizy-0.1.0 vs spec/authorizy/expander/expand_spec.rb in authorizy-0.2.0

- old
+ new

@@ -13,130 +13,125 @@ context 'when permissions is given' do context 'when data is symbol' do let(:permissions) do [ - { action: :create, controller: :controller }, - { action: :edit, controller: :controller }, - { action: :new, controller: :controller }, - { action: :update, controller: :controller }, + %i[controller create], + %i[controller update], ] end - it 'mappes the default actions aliases' do + it 'maps the default actions aliases' do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'create', 'controller' => 'controller' }, - { 'action' => 'edit', 'controller' => 'controller' }, - { 'action' => 'new', 'controller' => 'controller' }, - { 'action' => 'update', 'controller' => 'controller' }, + %w[controller create], + %w[controller edit], + %w[controller new], + %w[controller update], ] end end context 'when data is string' do let(:permissions) do [ - { 'action' => 'create', 'controller' => 'controller' }, - { 'action' => 'edit', 'controller' => 'controller' }, - { 'action' => 'new', 'controller' => 'controller' }, - { 'action' => 'update', 'controller' => 'controller' }, + %w[controller create], + %w[controller update], ] end - it 'mappes the default actions aliases' do + it 'maps the default actions aliases' do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'create', 'controller' => 'controller' }, - { 'action' => 'edit', 'controller' => 'controller' }, - { 'action' => 'new', 'controller' => 'controller' }, - { 'action' => 'update', 'controller' => 'controller' }, + %w[controller create], + %w[controller edit], + %w[controller new], + %w[controller update], ] end end end context 'when a dependencies is given' do context 'when keys and values are strings' do - let(:dependencies) { { 'controller' => { 'action' => [{ 'action' => 'action2', 'controller' => 'controller2' }] } } } - let!(:permissions) { [{ 'action' => 'action', 'controller' => 'controller' }] } + let(:dependencies) { { 'controller' => { 'action' => [%w[controller_2 action_2]] } } } + let!(:permissions) { [%w[controller action]] } it 'addes the dependencies permissions' do config_mock(dependencies: dependencies) do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'action', 'controller' => 'controller' }, - { 'action' => 'action2', 'controller' => 'controller2' }, + %w[controller action], + %w[controller_2 action_2], ] end end end context 'when keys and values are symbol' do - let(:dependencies) { { controller: { action: [{ action: :action2, controller: :controller2 }] } } } - let!(:permissions) { [{ 'action' => 'action', 'controller' => 'controller' }] } + let(:dependencies) { { controller: { action: [%i[controller_2 action_2]] } } } + let!(:permissions) { [%w[controller action]] } it 'addes the dependencies permissions' do config_mock(dependencies: dependencies) do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'action', 'controller' => 'controller' }, - { 'action' => 'action2', 'controller' => 'controller2' }, + %w[controller action], + %w[controller_2 action_2], ] end end end end - context 'when aliases is given' do - let!(:permissions) { [{ 'action' => 'action', 'controller' => 'controller' }] } + let!(:permissions) { [%w[controller action]] } context 'when key and values are strings' do - let(:aliases) { { 'action' => 'action2' } } + let(:aliases) { { 'action' => 'action_2' } } - it 'mappes the action with the current controller' do + it 'maps the action with the current controller' do config_mock(aliases: aliases) do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'action', 'controller' => 'controller' }, - { 'action' => 'action2', 'controller' => 'controller' }, + %w[controller action], + %w[controller action_2], ] end end end context 'when key and values are symbols' do - let(:aliases) { { action: :action2 } } + let(:aliases) { { action: :action_2 } } - it 'mappes the action with the current controller' do + it 'maps the action with the current controller' do config_mock(aliases: aliases) do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'action', 'controller' => 'controller' }, - { 'action' => 'action2', 'controller' => 'controller' }, + %w[controller action], + %w[controller action_2], ] end end end context 'when key and values are array of strings' do - let(:aliases) { { action: %w[action2 action3] } } + let(:aliases) { { action: %w[action_2 action_3] } } - it 'mappes the actions with the current controller' do + it 'maps the actions with the current controller' do config_mock(aliases: aliases) do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'action', 'controller' => 'controller' }, - { 'action' => 'action2', 'controller' => 'controller' }, - { 'action' => 'action3', 'controller' => 'controller' }, + %w[controller action], + %w[controller action_2], + %w[controller action_3], ] end end end context 'when key and values are array of symbols' do - let(:aliases) { { action: %i[action2 action3] } } + let(:aliases) { { action: %i[action_2 action_3] } } - it 'mappes the actions with the current controller' do + it 'maps the actions with the current controller' do config_mock(aliases: aliases) do expect(expander.expand(permissions)).to match_array [ - { 'action' => 'action', 'controller' => 'controller' }, - { 'action' => 'action2', 'controller' => 'controller' }, - { 'action' => 'action3', 'controller' => 'controller' }, + %w[controller action], + %w[controller action_2], + %w[controller action_3], ] end end end end