Sha256: 84d9581b725dc0d2c25b29c816a519e880bb24c945f55318475cdedeef2a178f

Contents?: true

Size: 1.66 KB

Versions: 8

Compression:

Stored size: 1.66 KB

Contents

describe Unidom::Geo::China::Town, type: :model do

  before :each do
  end

  after :each do
  end

  context do

    model_attributes = {
      region_id:    SecureRandom.uuid,
      numeric_code: '1'*9,
      name:         'Some Town'
    }

    it_behaves_like 'Unidom::Common::Concerns::ModelExtension', model_attributes

    it_behaves_like 'validates', model_attributes, :numeric_code,
      {                             } => 0,
      { numeric_code: nil           } => 3,
      { numeric_code: ''            } => 3,
      { numeric_code: '1'           } => 1,
      { numeric_code: '1'*8         } => 1,
      { numeric_code: 11_111_111    } => 1,
      { numeric_code: "-#{'1'*8}"   } => 1,
      { numeric_code: -11_111_111   } => 1,
      { numeric_code: '1'*9         } => 0,
      { numeric_code: 111_111_111   } => 0,
      { numeric_code: "-#{'1'*9}"   } => 2,
      { numeric_code: -111_111_111  } => 2,
      { numeric_code: '1'*10        } => 1,
      { numeric_code: 1_111_111_111 } => 1,
      { numeric_code: "#{'1'*8}A"   } => 1,
      { numeric_code: '111111.11'   } => 1,
      { numeric_code: 111111.11     } => 1

    it_behaves_like 'validates text', model_attributes, :name,
      length: 2..described_class.columns_hash['name'].limit

    region_attributes = {
      scheme_id:        SecureRandom.uuid,
      scheme_type:      'Unidom::Geo::China::Scheme::Mock',
      numeric_code:     '999999',
      alphabetic_code:  'ZZZ',
      name:             'Some Region'
    }

    it_behaves_like 'belongs_to', model_attributes, :region, Unidom::Geo::China::Region, region_attributes

    it_behaves_like 'monomorphic scope', model_attributes, :region_is, :region

  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
unidom-geo-china-1.0.2 lib/rspec/models/unidom/geo/china/town_spec.rb
unidom-geo-china-1.0.1 lib/rspec/models/unidom/geo/china/town_spec.rb
unidom-geo-china-1.0 lib/rspec/models/unidom/geo/china/town_spec.rb
unidom-geo-china-0.5.9 lib/rspec/models/unidom/geo/china/town_spec.rb
unidom-geo-china-0.5.8 lib/rspec/models/unidom/geo/china/town_spec.rb
unidom-geo-china-0.5.7 lib/rspec/models/unidom/geo/china/town_spec.rb
unidom-geo-china-0.5.6 lib/rspec/models/unidom/geo/china/town_spec.rb
unidom-geo-china-0.5.5 lib/rspec/models/unidom/geo/china/town_spec.rb