Sha256: 40b9bc26652c8a9718ece1f9aff817d0e0c1df657f369b9746957c19547f11a5

Contents?: true

Size: 1.26 KB

Versions: 39

Compression:

Stored size: 1.26 KB

Contents

require 'spec_helper'

describe Guide do
  let!(:haskell) { create(:haskell) }
  let!(:gobstones) { create(:gobstones) }

  let!(:lesson_1) { create(:lesson, name: 'l1') }
  let(:guide_1) { lesson_1.guide }

  let!(:lesson_2) { create(:lesson, name: 'l2') }

  let!(:guide_2) { create(:guide, name: 'g2') }
  let!(:guide_3) { create(:guide, name: 'g3') }

  let(:topic_json) do
    {name: 'sample topic',
     description: 'topic description',
     slug: 'mumuki/mumuki-sample-topic',
     locale: 'en',
     lessons: [guide_2, guide_1, guide_3].map(&:slug)}.deep_stringify_keys
  end

  describe '#import_from_json!' do
    context 'when guide is empty' do
      let(:topic) { create(:topic, lessons: [lesson_1, lesson_2]) }

      before do
        topic.import_from_json!(topic_json)
      end

      it { expect(topic.name).to eq 'sample topic' }
      it { expect(topic.description).to eq 'topic description' }
      it { expect(topic.locale).to eq 'en' }
      it { expect(topic.lessons.count).to eq 3 }
      it { expect(topic.lessons.first.guide).to eq guide_2 }
      it { expect(topic.lessons.second).to eq lesson_1 }
      it { expect(topic.lessons.third.guide).to eq guide_3 }
      it { expect(Guide.count).to eq 4 }
      it { expect(Lesson.count).to eq 3 }
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
mumuki-laboratory-5.13.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.12.1 spec/models/topic_import_spec.rb
mumuki-laboratory-5.12.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.11.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.10.4 spec/models/topic_import_spec.rb
mumuki-laboratory-5.10.3 spec/models/topic_import_spec.rb
mumuki-laboratory-5.10.2 spec/models/topic_import_spec.rb
mumuki-laboratory-5.10.1 spec/models/topic_import_spec.rb
mumuki-laboratory-5.10.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.9.1 spec/models/topic_import_spec.rb
mumuki-laboratory-5.9.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.8.3 spec/models/topic_import_spec.rb
mumuki-laboratory-5.8.1 spec/models/topic_import_spec.rb
mumuki-laboratory-5.8.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.7.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.6.3 spec/models/topic_import_spec.rb
mumuki-laboratory-5.6.2 spec/models/topic_import_spec.rb
mumuki-laboratory-5.6.1 spec/models/topic_import_spec.rb
mumuki-laboratory-5.6.0 spec/models/topic_import_spec.rb
mumuki-laboratory-5.5.0 spec/models/topic_import_spec.rb