Sha256: 68eb7afb31e3ea3f16c8005c2f5633803b3ef802725d7ab2e2106d3842e5903b

Contents?: true

Size: 1.36 KB

Versions: 4

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

feature 'not found on app', organization_workspace: :base do
  before { set_subdomain_host! Organization.base.name }
  before { Organization.base.switch! }

  let(:owner) { create(:user, permissions: {owner: '*'}) }
  let(:student_api_client) { create :api_client, role: :student, grant: 'central/*' }
  let(:owner_api_client) { create :api_client, role: :owner, grant: '*' }

  scenario 'app without authentication' do
    visit '/nonexistentroute'

    expect(page).to have_text 'You are not allowed to see this content'
  end

  scenario 'app with authentication' do
    set_current_user! owner

    visit '/nonexistentroute'

    expect(page).to have_text 'You may have mistyped the address or the page may have moved'
  end

  scenario 'api without authorization' do
    Capybara.current_session.driver.header 'Authorization', "Bearer #{student_api_client.token}"

    visit '/api/nonexistentroute'

    expect(page.text).to json_eq errors: [
      'The operation on organization base' +
      ' was forbidden to user foo+1@bar.com' +
      ' with permissions !student:central/*;teacher:;headmaster:;janitor:;admin:;owner:']
  end

  scenario 'api with authentication' do
    Capybara.current_session.driver.header 'Authorization', "Bearer #{owner_api_client.token}"

    visit '/api/nonexistentroute'

    expect(page.text).to json_eq errors: ['not found']
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mumuki-laboratory-6.7.7 spec/features/not_found_private_flow_spec.rb
mumuki-laboratory-6.7.6 spec/features/not_found_private_flow_spec.rb
mumuki-laboratory-6.7.5 spec/features/not_found_private_flow_spec.rb
mumuki-laboratory-6.7.4 spec/features/not_found_private_flow_spec.rb