Sha256: d1d37e4fb07fa4fda2371025cc6a203656d8a21d60e26fd693fe8ead07a2d9ae

Contents?: true

Size: 1.48 KB

Versions: 63

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'

feature 'Invitations Flow', organization_workspace: :test do
  let(:organization) { Organization.current }

  let(:guide) { create(:guide) }
  let(:chapter) {
    create(:chapter, lessons: [
      create(:lesson, guide: guide)
    ]) }
  let(:book) { organization.book }

  before do
    book.update! chapters: [chapter]
  end

  let(:permissions) { { } }
  let(:user) { create(:user, permissions: permissions) }
  before { set_current_user!(user) }

  let(:nodejs_course) { create(:course, slug: 'test/nodejs', name: 'Curso de NodeJS', organization: organization) }
  let(:python_course) { create(:course, slug: 'test/python', name: 'Curso de Python', organization: organization) }
  let!(:nodejs_invitation) { create(:invitation, code: 'invitacionAlNodejs', course: nodejs_course) }
  let!(:python_invitation) { create(:invitation, code: 'invitacionAlPython', course: python_course) }

  context 'with no memberships' do
    scenario 'visit invitation' do
      visit '/join/invitacionAlNodejs'
      expect(page).to have_text('Join Curso de NodeJS')
    end
  end

  context 'with existing memberships' do
    let(:permissions) { { student: 'test/nodejs' } }

    scenario 'visit invitation, already joined', :navigation_error do
      visit '/join/invitacionAlNodejs'
      expect(page).to have_text('Start Practicing!')
    end

    scenario 'visit invitation, not joined' do
      visit '/join/invitacionAlPython'
      expect(page).to have_text('Join Curso de Python')
    end
  end
end

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
mumuki-laboratory-9.23.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.22.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.21.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.20.1 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.20.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.19.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.18.1 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.18.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.17.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.16.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.15.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.14.1 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.14.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.13.2 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.13.1 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.13.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.12.1 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.12.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.11.0 spec/features/invitations_flow_spec.rb
mumuki-laboratory-9.10.0 spec/features/invitations_flow_spec.rb