diff options
Diffstat (limited to 'spec/features')
| -rw-r--r-- | spec/features/companies_spec.rb | 2 | ||||
| -rw-r--r-- | spec/features/compliance_check_sets_spec.rb | 20 | ||||
| -rw-r--r-- | spec/features/compliance_control_sets_spec.rb | 20 | ||||
| -rw-r--r-- | spec/features/group_of_lines_permissions_spec.rb | 4 | ||||
| -rw-r--r-- | spec/features/group_of_lines_spec.rb | 2 | ||||
| -rw-r--r-- | spec/features/lines_spec.rb | 3 | ||||
| -rw-r--r-- | spec/features/networks_spec.rb | 2 | ||||
| -rw-r--r-- | spec/features/purchase_windows_permission_spec.rb | 59 | ||||
| -rw-r--r-- | spec/features/purchase_windows_spec.rb | 69 | ||||
| -rw-r--r-- | spec/features/routes_permissions_spec.rb | 3 | ||||
| -rw-r--r-- | spec/features/stop_areas_spec.rb | 2 | ||||
| -rw-r--r-- | spec/features/workbenches/workbenches_permissions_spec.rb (renamed from spec/features/workbenches_permissions_spec.rb) | 0 | ||||
| -rw-r--r-- | spec/features/workbenches/workbenches_show_modal_actions_spec.rb | 29 | ||||
| -rw-r--r-- | spec/features/workbenches/workbenches_show_spec.rb (renamed from spec/features/workbenches_spec.rb) | 0 |
14 files changed, 194 insertions, 21 deletions
diff --git a/spec/features/companies_spec.rb b/spec/features/companies_spec.rb index 1b9dae56f..4e778b3a0 100644 --- a/spec/features/companies_spec.rb +++ b/spec/features/companies_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' describe "Companies", :type => :feature do login_user - let(:line_referential) { create :line_referential } + let(:line_referential) { create :line_referential, member: @user.organisation } let!(:companies) { Array.new(2) { create :company, line_referential: line_referential } } subject { companies.first } diff --git a/spec/features/compliance_check_sets_spec.rb b/spec/features/compliance_check_sets_spec.rb index 7ba64b6b8..6b7d7a4f8 100644 --- a/spec/features/compliance_check_sets_spec.rb +++ b/spec/features/compliance_check_sets_spec.rb @@ -29,7 +29,7 @@ RSpec.describe "ComplianceCheckSets", type: :feature do it 'we can see the expected content' do # Breadcrumbs - expect_breadcrumb_links "Accueil", "Gestion de l'offre", "Liste des jeux de contrôles" + expect_breadcrumb_links "Accueil", "Gestion de l'offre", "Liste des rapports de contrôles" # Headline expect( page ).to have_content("Jeu de contrôles exécutés #{compliance_check_set.name}") @@ -49,10 +49,10 @@ RSpec.describe "ComplianceCheckSets", type: :feature do # Direct Children within(:xpath, xpath_for_div_of_block) do direct_checks.each do | direct_check | - expect( page ).to have_content( direct_check.code ) - expect( page ).to have_content( direct_check.name ) - expect( page ).to have_content( direct_check.criticity ) - expect( page ).to have_content( direct_check.comment ) + expect( page ).to have_content( direct_check.code ) + expect( page ).to have_content( direct_check.name ) + expect( page ).to have_content( direct_check.criticity ) + expect( page ).to have_content( direct_check.comment ) end end @@ -60,10 +60,10 @@ RSpec.describe "ComplianceCheckSets", type: :feature do compliance_check_set.compliance_check_blocks.each do | block | within(:xpath, xpath_for_div_of_block(block)) do block.compliance_checks.each do | check | - expect( page ).to have_content( check.code ) - expect( page ).to have_content( check.name ) - expect( page ).to have_content( check.criticity ) - expect( page ).to have_content( check.comment ) + expect( page ).to have_content( check.code ) + expect( page ).to have_content( check.name ) + expect( page ).to have_content( check.criticity ) + expect( page ).to have_content( check.comment ) end end end @@ -86,7 +86,7 @@ RSpec.describe "ComplianceCheckSets", type: :feature do all_checks.each do | check | expect( page ).to have_content(check.code) end - + end end diff --git a/spec/features/compliance_control_sets_spec.rb b/spec/features/compliance_control_sets_spec.rb index bcb989cdc..36dc5c2a9 100644 --- a/spec/features/compliance_control_sets_spec.rb +++ b/spec/features/compliance_control_sets_spec.rb @@ -1,4 +1,5 @@ RSpec.describe "ComplianceControlSets", type: :feature do + include TransportModeHelper login_user @@ -12,7 +13,7 @@ RSpec.describe "ComplianceControlSets", type: :feature do } before do - blox.first.update transport_mode: 'bus', transport_submode: 'bus' + blox.first.update transport_mode: 'bus', transport_submode: 'nightBus' blox.second.update transport_mode: 'train', transport_submode: 'train' make_control @@ -21,6 +22,9 @@ RSpec.describe "ComplianceControlSets", type: :feature do end describe 'show' do + let( :control_button_href ){ select_type_compliance_control_set_compliance_controls_path(control_set) } + let( :new_group_button_href ) { new_compliance_control_set_compliance_control_block_path(control_set) } + before do visit compliance_control_set_path( control_set ) end @@ -40,6 +44,13 @@ RSpec.describe "ComplianceControlSets", type: :feature do controls.each do | control | expect( page ).to have_content(control.code) end + + # Floating Buttons + within '.select_toolbox#floating-links' do + expect( page ).to have_link("Contrôle", href: control_button_href) + expect( page ).to have_link("Groupe de contrôles", href: new_group_button_href) + end + end it 'we can apply a severity filter' do @@ -75,6 +86,13 @@ RSpec.describe "ComplianceControlSets", type: :feature do end end + context "wthout filter on compliance control block applied" do + it "we can see empty blocks" do + blox.first.compliance_controls.destroy_all + expect(page).to have_content (transport_mode_text(blox.first) ) + end + end + end def make_control ccblock=nil, times: 1, severity: :warning diff --git a/spec/features/group_of_lines_permissions_spec.rb b/spec/features/group_of_lines_permissions_spec.rb index 5c03481ec..33d78c0dd 100644 --- a/spec/features/group_of_lines_permissions_spec.rb +++ b/spec/features/group_of_lines_permissions_spec.rb @@ -22,7 +22,7 @@ describe "Group of lines", :type => :feature do context 'on show view' do let( :path ){ line_referential_group_of_line_path(line_referential, group_of_line, delete: true) } - context 'if permissions present → ' do + context 'if permissions present → ' do let( :permission ){ true } it 'shows the appropriate buttons' do @@ -30,7 +30,7 @@ describe "Group of lines", :type => :feature do expect( page ).to have_link('Supprimer', href: expected_url) end end - context 'if permissions absent → ' do + context 'if permissions absent → ' do let( :permission ){ false } it 'shows the appropriate buttons' do diff --git a/spec/features/group_of_lines_spec.rb b/spec/features/group_of_lines_spec.rb index 59101ccd5..8b88e6e9e 100644 --- a/spec/features/group_of_lines_spec.rb +++ b/spec/features/group_of_lines_spec.rb @@ -10,7 +10,7 @@ describe "Group of lines", :type => :feature do let!(:group_of_lines) { Array.new(2) { create(:group_of_line, line_referential: line_referential) } } subject { group_of_lines.first } - let(:line_referential) { create :line_referential } + let(:line_referential) { create :line_referential, member: @user.organisation } before :each do subject.lines << line diff --git a/spec/features/lines_spec.rb b/spec/features/lines_spec.rb index ecb90668c..f176e34fe 100644 --- a/spec/features/lines_spec.rb +++ b/spec/features/lines_spec.rb @@ -1,7 +1,8 @@ +# coding: utf-8 describe "Lines", type: :feature do login_user - let(:line_referential) { create :line_referential } + let(:line_referential) { create :line_referential, member: @user.organisation } let!(:network) { create(:network) } let!(:company) { create(:company) } let!(:lines) { Array.new(2) { create :line_with_stop_areas, network: network, company: company, line_referential: line_referential } } diff --git a/spec/features/networks_spec.rb b/spec/features/networks_spec.rb index 19f17d900..8586b2a16 100644 --- a/spec/features/networks_spec.rb +++ b/spec/features/networks_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' describe "Networks", type: :feature do login_user - let(:line_referential) { create :line_referential } + let(:line_referential) { create :line_referential, member: @user.organisation } let!(:networks) { Array.new(2) { create(:network, line_referential: line_referential) } } subject { networks.first } diff --git a/spec/features/purchase_windows_permission_spec.rb b/spec/features/purchase_windows_permission_spec.rb new file mode 100644 index 000000000..9f155a1e8 --- /dev/null +++ b/spec/features/purchase_windows_permission_spec.rb @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +require 'spec_helper' + +describe "PurchaseWindows", :type => :feature do + login_user + + before do + @user.organisation.update features: %w{purchase_windows} + end + + let(:purchase_window) { create :purchase_window, referential: first_referential} + + describe 'permissions' do + before do + allow_any_instance_of(PurchaseWindowPolicy).to receive(:create?).and_return permission + allow_any_instance_of(PurchaseWindowPolicy).to receive(:destroy?).and_return permission + allow_any_instance_of(PurchaseWindowPolicy).to receive(:update?).and_return permission + visit path + end + + context 'on show view' do + let( :path ){ referential_purchase_window_path(first_referential, purchase_window) } + + context 'if present → ' do + let( :permission ){ true } + it 'view shows the corresponding buttons' do + expect(page).to have_content(I18n.t('purchase_windows.actions.edit')) + expect(page).to have_content(I18n.t('purchase_windows.actions.destroy')) + end + end + + context 'if absent → ' do + let( :permission ){ false } + it 'view does not show the corresponding buttons' do + expect(page).not_to have_content(I18n.t('purchase_windows.actions.edit')) + expect(page).not_to have_content(I18n.t('purchase_windows.actions.destroy')) + end + end + end + + context 'on index view' do + let( :path ){ referential_purchase_windows_path(first_referential) } + + context 'if present → ' do + let( :permission ){ true } + it 'index shows an edit button' do + expect(page).to have_content(I18n.t('purchase_windows.actions.new')) + end + end + + context 'if absent → ' do + let( :permission ){ false } + it 'index does not show any edit button' do + expect(page).not_to have_content(I18n.t('purchase_windows.actions.new')) + end + end + end + end +end diff --git a/spec/features/purchase_windows_spec.rb b/spec/features/purchase_windows_spec.rb new file mode 100644 index 000000000..f797594b7 --- /dev/null +++ b/spec/features/purchase_windows_spec.rb @@ -0,0 +1,69 @@ +describe "PurchaseWindows", type: :feature do + login_user + + before do + @user.organisation.update features: %w{purchase_windows} + end + + describe "#index" do + with_permissions('purchase_windows.create') do + it "allows users to create new purchase windows" do + name = 'Test purchase window create' + + visit(referential_purchase_windows_path(first_referential.id)) + + click_link(I18n.t('purchase_windows.actions.new')) + + fill_in('purchase_window[name]', with: name) + # select('#DD2DAA', from: 'purchase_window[color]') + + click_link(I18n.t('simple_form.labels.purchase_window.add_a_date_range')) + click_button(I18n.t('actions.submit')) + + expect(page).to have_content(name) + end + end + + with_permissions('purchase_windows.update') do + it "allows users to update purchase windows" do + actual_name = 'Existing purchase window' + expected_name = 'Updated purchase window' + create( + :purchase_window, + referential: first_referential, + name: actual_name + ) + + visit(referential_purchase_windows_path(first_referential.id)) + + click_link(actual_name) + + click_link(I18n.t('purchase_windows.actions.edit')) + fill_in('purchase_window[name]', with: expected_name) + + click_button(I18n.t('actions.submit')) + + expect(page).to have_content(expected_name) + end + end + + with_permissions('purchase_windows.destroy') do + it "allows users to destroy purchase windows" do + name = 'Existing purchase window' + create( + :purchase_window, + referential: first_referential, + name: name + ) + + visit(referential_purchase_windows_path(first_referential.id)) + + click_link(name) + + click_link(I18n.t('purchase_windows.actions.destroy')) + + expect(page).to_not have_content(name) + end + end + end +end diff --git a/spec/features/routes_permissions_spec.rb b/spec/features/routes_permissions_spec.rb index 36c13b24a..6d3db9d55 100644 --- a/spec/features/routes_permissions_spec.rb +++ b/spec/features/routes_permissions_spec.rb @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -require 'spec_helper' - describe "Routes", :type => :feature do login_user diff --git a/spec/features/stop_areas_spec.rb b/spec/features/stop_areas_spec.rb index 6afb22bc6..668eb2fa3 100644 --- a/spec/features/stop_areas_spec.rb +++ b/spec/features/stop_areas_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' describe "StopAreas", :type => :feature do login_user - let(:stop_area_referential) { create :stop_area_referential } + let(:stop_area_referential) { create :stop_area_referential, member: @user.organisation } let!(:stop_areas) { Array.new(2) { create :stop_area, stop_area_referential: stop_area_referential } } subject { stop_areas.first } diff --git a/spec/features/workbenches_permissions_spec.rb b/spec/features/workbenches/workbenches_permissions_spec.rb index d58293538..d58293538 100644 --- a/spec/features/workbenches_permissions_spec.rb +++ b/spec/features/workbenches/workbenches_permissions_spec.rb diff --git a/spec/features/workbenches/workbenches_show_modal_actions_spec.rb b/spec/features/workbenches/workbenches_show_modal_actions_spec.rb new file mode 100644 index 000000000..ebc48b485 --- /dev/null +++ b/spec/features/workbenches/workbenches_show_modal_actions_spec.rb @@ -0,0 +1,29 @@ +RSpec.describe 'Workbenches', type: :feature do + login_user + + let(:line_ref) { create :line_referential } + let(:line) { create :line, line_referential: line_ref } + let(:ref_metadata) { create(:referential_metadata, lines: [line]) } + + let(:workbench) { create :workbench, line_referential: line_ref, organisation: @user.organisation } + let!(:referential) { create :workbench_referential, + workbench: workbench, + metadatas: [ref_metadata], + organisation: @user.organisation } + + + describe 'show' do + context 'modal action' do + it 'expected behavior' do + visit workbench_path(workbench) + + # Modal Action Box: is present + within( :css, ".select_toolbox#selected-referentials-action-box span.info-msg > span") do + expect( page ).to have_content("0") + end + + end + end + end + +end diff --git a/spec/features/workbenches_spec.rb b/spec/features/workbenches/workbenches_show_spec.rb index f1151a67b..f1151a67b 100644 --- a/spec/features/workbenches_spec.rb +++ b/spec/features/workbenches/workbenches_show_spec.rb |
