Sha256: 4c80117dd865f5de961a00000fb3e1d3829604a5bcda2a772eb93dcb35713ec0

Contents?: true

Size: 1 KB

Versions: 9

Compression:

Stored size: 1 KB

Contents

require 'spec_helper'

module Quby::Questionnaires
  describe DSL do
    describe '.build_from_definition' do
      let(:repo) { Quby.send(:questionnaire_repo) }
      it 'builds a questionnaire from a definition' do
        definition = repo.find('simple')
        expect(described_class.build_from_definition(definition)).to be_instance_of(Entities::Questionnaire)
      end

      it 'uses a path on instance eval, so we get correct stack traces' do
        definition = Quby::Questionnaires::Entities::Definition.new(key: 'test',
                                                                    sourcecode: 'raise("problem")',
                                                                    path: 'spec/fixtures/raising.rb')
        expected_backtrace = include(end_with("spec/fixtures/raising.rb:1:in `block in build_from_definition'"))
        expect { described_class.build_from_definition(definition) }.to \
          raise_exception(having_attributes(backtrace: expected_backtrace))
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
quby-4.0.4 spec/quby/questionnaires/dsl_spec.rb
quby-4.0.3 spec/quby/questionnaires/dsl_spec.rb
quby-4.0.2 spec/quby/questionnaires/dsl_spec.rb
quby-4.0.1 spec/quby/questionnaires/dsl_spec.rb
quby-4.0.0 spec/quby/questionnaires/dsl_spec.rb
quby-3.2.2 spec/quby/questionnaires/dsl_spec.rb
quby-3.2.1 spec/quby/questionnaires/dsl_spec.rb
quby-3.2.0 spec/quby/questionnaires/dsl_spec.rb
quby-3.2.0.pre.pre1 spec/quby/questionnaires/dsl_spec.rb