Sha256: 8aa9b82afd131de433a15cbac2ec0d8988f04d0fa84f9e615f33e56424d24209

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

describe <%= model.name :class %> do

  describe '#to_s' do
  <%- if model.label_attr -%>
    it 'returns the #<%= model.label_attr.name %> attribute' do
      subject.<%= model.label_attr.name %> = <%= model.label_attr.test_value.inspect %>
      expect(subject.to_s).to eq(<%= model.label_attr.test_value.to_s.inspect %>)
    end
  <%- else -%>
    it 'returns its class name with its id' do
      subject.id = 17
      expect(subject.to_s).to eq("<%= model.name %>#17")
    end
  <%- end -%>
  end
<% specable_attrs.each do |attr| -%>

  describe '#<%= attr.name %>' do
  <%- if attr.assignable_values.present? -%>
    it { is_expected.to allow_value(<%= assignable_value_for(attr).inspect %>).for(:<%= attr.name %>) }
    it { is_expected.to_not allow_value(<%= unassignable_value_for(attr).inspect %>).for(:<%= attr.name %>) }
  <%- end -%>
  <%- unless attr.default.nil? -%>

    it 'has a default' do
      expect(subject.<%= attr.name %>).to eq(<%= attr.default.inspect %>)
    end
  <%- end -%>
  end
<% end -%>

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
katapult-0.3.0 lib/generators/katapult/model_specs/templates/model_spec.rb