Sha256: 1598f39f9039249421807e63bb328e66ad1a7bb8e435dcafc178eb492796b3a8

Contents?: true

Size: 1.41 KB

Versions: 11

Compression:

Stored size: 1.41 KB

Contents

# -*- coding : utf-8 -*-
require 'spec_helper'

describe Mushikago::Hanamgri::Field do
  shared_examples_for 'a json serializable struct' do |n, r, t, k|
    its(:name){ should == n }
    its(:required){ should == r }
    its(:type){ should == t }
    its(:to_json){ should == {:name => n, :required => r, :type => t, :knowledge_name => k}.to_json }
  end

  context 'construct with' do
    [
      ['name', true, :string],
      ['価格', true, :number],
      ['shipping', false, :number],
      ['説明', false, :string],
      ['name', true, :string, 'mushikago/ec/title'],
    ].each do |n, r, t, k|
      context "(name:#{n} required:#{r} type:#{t} knowledge_name:#{k})" do
        subject{ Mushikago::Hanamgri::Field.new(n, r, t, k) }
        it_should_behave_like 'a json serializable struct', n, r, t, k
        it('should validate') do
          proc{ subject.validate! }.should_not raise_error
        end
      end
    end
    
    [
      ['name', true, :double],
      ['価格', true, :float],
      ['shipping', false, :object],
      ['説明', false, :null],
    ].each do |n, r, t, k|
      context "(name:#{n} required:#{r} type:#{t}) knowledge_name#{k}" do
        subject{ Mushikago::Hanamgri::Field.new(n, r, t, k) }
        it_should_behave_like 'a json serializable struct', n, r, t, k
        it('should not validate') do
          proc{ subject.validate! }.should raise_error
        end
      end
    end
  end
end

Version data entries

11 entries across 8 versions & 1 rubygems

Version Path
mushikago-sdk-2.4.3 spec/mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.4.3 spec//mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.4.2 spec/mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.4.2 spec//mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.4.1 spec/mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.4 spec/mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.2 spec/mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.2 spec//mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.1.1 spec/mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.1.0 spec/mushikago/hanamgri/field_spec.rb
mushikago-sdk-2.0.0 spec/mushikago/hanamgri/field_spec.rb