Sha256: ea4e320793615132d4eb2f47858baba22bbb2d0fd96a1a91bf7ce7421303a271

Contents?: true

Size: 1.69 KB

Versions: 50

Compression:

Stored size: 1.69 KB

Contents

require 'spec_helper'

describe WithExpectations do
  let(:exercise) { build(:exercise) }

  context 'when setting empty list' do
    before { exercise.expectations = [] }

    it { expect(exercise.expectations).to eq [] }
  end

  context 'when setting empty yaml' do
    before { exercise.expectations_yaml = [].to_yaml }

    it { expect(exercise.expectations).to eq [] }
  end

  context 'when no expectations' do
    it { expect(exercise.expectations).to eq [] }
  end

  context 'when setting non empty symbolized list' do
    before { exercise.expectations = [{binding: 'foo', inspection: 'HasBinding'}] }

    it { expect(exercise.expectations).to eq [{'binding' => 'foo', 'inspection' => 'HasBinding'}] }
  end

  context 'when setting non empty stringified list' do
    before { exercise.expectations = [{'binding' => 'foo', 'inspection' => 'HasBinding'}] }

    it { expect(exercise.expectations).to eq [{'binding' => 'foo', 'inspection' => 'HasBinding'}] }
  end

  context 'when setting non empty yaml' do
    before { exercise.expectations_yaml = [{'binding' => 'foo', 'inspection' => 'HasBinding'}].to_yaml }

    it { expect(exercise.expectations).to eq [{'binding' => 'foo', 'inspection' => 'HasBinding'}] }
  end

  context 'when the guide has expectations' do
    let(:guide) { create(:guide) }

    before do
      exercise.language = guide.language
      exercise.expectations = [{binding: 'foo', inspection: 'HasBinding'}]
      exercise.guide = guide

      guide.expectations = [{binding: 'bar', inspection: 'HasBinding'}]
    end

    it {
      expect(exercise.expectations)
      .to eq [{'binding' => 'foo', 'inspection' => 'HasBinding'}, {'binding' => 'bar', 'inspection' => 'HasBinding'}]
    }
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
mumuki-laboratory-5.9.1 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.9.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.8.3 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.8.1 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.8.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.7.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.6.3 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.6.2 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.6.1 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.6.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.5.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.4.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.3.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.2.1 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.2.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.1.1 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.1.0 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.0.12 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.0.11 spec/models/with_expectations_spec.rb
mumuki-laboratory-5.0.10 spec/models/with_expectations_spec.rb