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