Sha256: d5da1fc6cd99c8d26b890dc0e3ec8d5d0176ed2ee82510d86fbed35dd077c921

Contents?: true

Size: 1.7 KB

Versions: 69

Compression:

Stored size: 1.7 KB

Contents

require 'spec_helper'

feature 'menu bar' do
  let(:chapter) { create(:chapter, lessons: [create(:lesson)]) }
  let(:book) { create(:book, chapters: [chapter], name: 'private', slug: 'mumuki/mumuki-the-private-book') }
  let(:private_organization) { create(:organization, name: 'private', book: book) }

  before { set_subdomain_host! private_organization.name }
  before { private_organization.switch! }

  context 'anonymous user' do
    scenario 'should not see any app' do
      visit '/'

      expect(page).not_to have_text('Classroom')
      expect(page).not_to have_text('Bibliotheca')
    end
  end

  context 'logged user' do
    let(:visitor) { create(:user) }
    let(:student) { create(:user, permissions: {student: 'private/*'}) }
    let(:teacher) { create(:user, permissions: {student: 'private/*', teacher: 'private/*'}) }
    let(:writer) { create(:user, permissions: {student: 'private/*', writer: 'private/*'}) }
    let(:janitor) { create(:user, permissions: {student: 'private/*', janitor: 'private/*'}) }
    let(:owner) { create(:user, permissions: {student: 'private/*', owner: 'private/*'}) }

    scenario 'visitor should not see any app' do
      set_current_user! visitor

      visit '/'
      expect(page).not_to have_text('Classroom')
      expect(page).not_to have_text('Bibliotheca')
    end

    scenario 'teacher should see classroom' do
      set_current_user! teacher

      visit '/'

      expect(page).to have_text('Classroom')
      expect(page).not_to have_text('Bibliotheca')
    end

    scenario 'writer should see bibliotheca' do
      set_current_user! writer

      visit '/'

      expect(page).not_to have_text('Classroom')
      expect(page).to have_text('Bibliotheca')
    end
  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
mumuki-laboratory-7.0.2 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.7 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.6 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.5 spec/features/menu_bar_spec.rb
mumuki-laboratory-7.0.1 spec/features/menu_bar_spec.rb
mumuki-laboratory-7.0.0 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.4 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.3 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.2 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.1 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.7.0 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.6.1 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.6.0 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.5.1 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.5.0 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.4.2 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.4.1 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.4.0 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.2.0 spec/features/menu_bar_spec.rb
mumuki-laboratory-6.1.5 spec/features/menu_bar_spec.rb