Sha256: 640855dffc5ba92f4bef40b75605a64ca8e0d02b0488e8b251ff2251bab90b6a

Contents?: true

Size: 1.63 KB

Versions: 39

Compression:

Stored size: 1.63 KB

Contents

require 'spec_helper'

feature 'Exercise Flow', organization_workspace: :test do
  let(:user) { create(:user) }

  let!(:problem) { build(:problem) }

  let!(:lesson) { create(:lesson, description: 'An awesome guide', exercises: [problem]) }

  let!(:chapter) { create(:chapter, lessons: [lesson]) }

  let(:exam_problem) { build(:problem) }
  let(:test_organization) { Organization.find_by_name('test') }
  let(:exam) { create(:exam, organization: test_organization, guide: guide) }
  let(:guide) { create(:guide, exercises: [exam_problem])}

  before { exam.index_usage! test_organization }

  before { reindex_current_organization! }

  let(:restart_xpath) { "//i[@title='#{I18n.t(:restart)}']" }

  context 'no logged in user' do
    scenario 'visit guide' do
      visit "/lessons/#{lesson.id}"

      expect(page).to have_text('An awesome guide')
      expect(page).to_not have_xpath(restart_xpath)
    end
  end

  context 'logged in user' do
    before { set_current_user! user }

    scenario 'visit guide with no solutions sent for it' do
      visit "/lessons/#{lesson.id}"

      expect(page).to have_text('An awesome guide')
      expect(page).to_not have_xpath(restart_xpath)
    end

    scenario 'visit guide with solutions sent for it' do
      problem.submit_solution! user

      visit "/lessons/#{lesson.id}"

      expect(page).to have_text('An awesome guide')
      expect(page).to have_xpath(restart_xpath)
    end

    scenario 'visit exam guide with solutions sent for it' do
      exam_problem.submit_solution! user
      exam.authorize!(user)

      visit "/exams/#{exam.id}"

      expect(page).to_not have_xpath(restart_xpath)
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

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