Sha256: caafbe51def08bad33a4b2fe38c85e928930c8d1faf84ee8a8b32aace86fa22b
Contents?: true
Size: 1.61 KB
Versions: 9
Compression:
Stored size: 1.61 KB
Contents
require 'spec_helper' module Grape module DSL module HelpersSpec class Dummy include Grape::DSL::Helpers def self.mod namespace_stackable(:helpers).first end end end module BooleanParam extend Grape::API::Helpers params :requires_toggle_prm do requires :toggle_prm, type: Boolean end end describe Helpers do subject { Class.new(HelpersSpec::Dummy) } let(:proc) do lambda do |*| def test :test end end end describe '.helpers' do it 'adds a module with the given block' do expect(subject).to receive(:namespace_stackable).with(:helpers, kind_of(Grape::DSL::Helpers::BaseHelper)).and_call_original expect(subject).to receive(:namespace_stackable).with(:helpers).and_call_original subject.helpers(&proc) expect(subject.mod.instance_methods).to include(:test) end it 'uses provided modules' do mod = Module.new expect(subject).to receive(:namespace_stackable).with(:helpers, kind_of(Grape::DSL::Helpers::BaseHelper)).and_call_original expect(subject).to receive(:namespace_stackable).with(:helpers).and_call_original subject.helpers(mod, &proc) expect(subject.mod).to eq mod end context 'with an external file' do it 'sets Boolean as a Virtus::Attribute::Boolean' do subject.helpers BooleanParam expect(subject.mod::Boolean).to eq Virtus::Attribute::Boolean end end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems