Sha256: 1b0e0846144e8361d0e61ccdca2e5e408480bc3b578dec0897e58771e6785e80

Contents?: true

Size: 1.77 KB

Versions: 86

Compression:

Stored size: 1.77 KB

Contents

require 'spec_helper'

feature 'Chapters flow', organization_workspace: :test do
  let(:haskell) { create(:haskell) }

  let!(:chapter) {
    create(:chapter, name: 'Functional Programming', lessons: [
      create(:lesson, name: 'Values and Functions', language: haskell, description: 'Values are everywhere...', exercises: [
        create(:exercise, name: 'The Basic Values', description: "Let's say we want to declare a variable...")
      ]),
      create(:lesson, name: 'Monads and Functors', language: haskell, description: 'Monds are everywhere too...', exercises: [
        create(:exercise, name: 'The Maybe Functor', description: "Let's say we want to model absense of value...")
      ])
    ]) }

  before { reindex_current_organization! }

  context 'no appendix' do
    scenario 'show chapter, no appendix' do
      visit "/chapters/#{chapter.id}"

      expect(page).to have_text('Functional Programming')
      expect(page).to have_text('The Basic Values')

      expect(page).to have_text('Monads and Functors')
      expect(page).to have_text('The Maybe Functor')

      expect(page).to_not have_text('Appendix')
    end
  end

  context 'with appendix' do
    before { chapter.topic.update appendix: 'Check this article about endofunctors' }

    scenario 'show chapter, with appendix' do
      visit "/chapters/#{chapter.id}"

      expect(page).to have_text('Functional Programming')
      expect(page).to have_text('The Basic Values')

      expect(page).to have_text('Monads and Functors')
      expect(page).to have_text('The Maybe Functor')

      expect(page).to have_text('Appendix')
    end

    scenario 'show appendix' do
      visit "/chapters/#{chapter.id}/appendix"
      expect(page).to have_text('Appendix')
      expect(page).to have_text('endofunctors')
    end
  end
end

Version data entries

86 entries across 86 versions & 1 rubygems

Version Path
mumuki-laboratory-7.7.6 spec/features/chapter_spec.rb
mumuki-laboratory-7.7.5 spec/features/chapter_spec.rb
mumuki-laboratory-7.7.4 spec/features/chapter_spec.rb
mumuki-laboratory-7.7.3 spec/features/chapter_spec.rb
mumuki-laboratory-7.7.2 spec/features/chapter_spec.rb
mumuki-laboratory-7.7.1 spec/features/chapter_spec.rb
mumuki-laboratory-7.7.0 spec/features/chapter_spec.rb
mumuki-laboratory-7.6.2 spec/features/chapter_spec.rb
mumuki-laboratory-7.6.1 spec/features/chapter_spec.rb
mumuki-laboratory-7.6.0 spec/features/chapter_spec.rb
mumuki-laboratory-7.5.2 spec/features/chapter_spec.rb
mumuki-laboratory-7.5.1 spec/features/chapter_spec.rb
mumuki-laboratory-7.5.0 spec/features/chapter_spec.rb
mumuki-laboratory-7.4.2 spec/features/chapter_spec.rb
mumuki-laboratory-7.4.1 spec/features/chapter_spec.rb
mumuki-laboratory-7.4.0 spec/features/chapter_spec.rb
mumuki-laboratory-7.3.1 spec/features/chapter_spec.rb
mumuki-laboratory-7.3.0 spec/features/chapter_spec.rb
mumuki-laboratory-7.2.0 spec/features/chapter_spec.rb
mumuki-laboratory-7.1.0 spec/features/chapter_spec.rb