Sha256: b4567a0dc51d4132f0ec1087e0c297d23805d920216252a0a6af9770831afaa5

Contents?: true

Size: 1.42 KB

Versions: 15

Compression:

Stored size: 1.42 KB

Contents

require 'spec_helper'

describe Solution, organization_workspace: :test do

  describe '#run_tests!' do
    let(:user) { create(:user) }

    before { expect_any_instance_of(Challenge).to receive(:automated_evaluation_class).and_return(Mumuki::Laboratory::Evaluation::Automated) }
    before { expect_any_instance_of(Language).to receive(:run_tests!).and_return(bridge_response) }

    context 'when results have no expectation' do
      let(:exercise) { create(:x_equal_5_exercise) }
      let(:assignment) { exercise.submit_solution! user }
      let(:bridge_response) { {result: '0 failures', status: :passed} }

      it { expect(assignment.status).to eq(:passed) }
      it { expect(assignment.result).to include('0 failures') }
    end

    context 'when results have expectations' do
      let(:exercise_with_expectations) {
        create(:x_equal_5_exercise, expectations: [{binding: :foo, inspection: :HasComposition}]) }
      let(:assignment) { exercise_with_expectations.submit_solution! user }
      let(:bridge_response) { {
          result: '0 failures',
          status: :passed,
          expectation_results: [binding: 'foo', inspection: 'HasBinding', result: :passed]} }

      it { expect(assignment.status).to eq(:passed) }
      it { expect(assignment.result).to include('0 failures') }
      it { expect(assignment.expectation_results).to eq([{binding: 'foo', inspection: 'HasBinding', result: :passed}]) }
    end

  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mumuki-laboratory-5.8.3 spec/models/solution_spec.rb
mumuki-laboratory-5.8.1 spec/models/solution_spec.rb
mumuki-laboratory-5.8.0 spec/models/solution_spec.rb
mumuki-laboratory-5.7.0 spec/models/solution_spec.rb
mumuki-laboratory-5.6.3 spec/models/solution_spec.rb
mumuki-laboratory-5.6.2 spec/models/solution_spec.rb
mumuki-laboratory-5.6.1 spec/models/solution_spec.rb
mumuki-laboratory-5.6.0 spec/models/solution_spec.rb
mumuki-laboratory-5.5.0 spec/models/solution_spec.rb
mumuki-laboratory-5.4.0 spec/models/solution_spec.rb
mumuki-laboratory-5.3.0 spec/models/solution_spec.rb
mumuki-laboratory-5.2.1 spec/models/solution_spec.rb
mumuki-laboratory-5.2.0 spec/models/solution_spec.rb
mumuki-laboratory-5.1.1 spec/models/solution_spec.rb
mumuki-laboratory-5.1.0 spec/models/solution_spec.rb