Sha256: 4a860a0ce7e060d7675f60f551f54b7e1c65af8655d14b12a32a67526f5b7e43

Contents?: true

Size: 1.87 KB

Versions: 1

Compression:

Stored size: 1.87 KB

Contents

describe Unidom::Standard::StandardAssociating, type: :model do

  before :each do
  end

  after :each do
  end

  context do

    model_attributes = {
      source_id:        SecureRandom.uuid,
      target_id:        SecureRandom.uuid,
      association_code: 'REVS'
    }

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

    it_behaves_like 'scope', :source_is, [
      { attributes_collection: [ model_attributes                                     ], count_diff: 1, args: [ model_attributes[:source_id]                                     ] },
      { attributes_collection: [ model_attributes                                     ], count_diff: 1, args: [ Unidom::Standard::Standard.new(id: model_attributes[:source_id]) ] },
      { attributes_collection: [ model_attributes.merge(source_id: SecureRandom.uuid) ], count_diff: 0, args: [ model_attributes[:source_id]                                     ] },
      { attributes_collection: [ model_attributes.merge(source_id: SecureRandom.uuid) ], count_diff: 0, args: [ Unidom::Standard::Standard.new(id: model_attributes[:source_id]) ] } ]

    it_behaves_like 'scope', :target_is, [
      { attributes_collection: [ model_attributes                                     ], count_diff: 1, args: [ model_attributes[:target_id]                                     ] },
      { attributes_collection: [ model_attributes                                     ], count_diff: 1, args: [ Unidom::Standard::Standard.new(id: model_attributes[:target_id]) ] },
      { attributes_collection: [ model_attributes.merge(target_id: SecureRandom.uuid) ], count_diff: 0, args: [ model_attributes[:target_id]                                     ] },
      { attributes_collection: [ model_attributes.merge(target_id: SecureRandom.uuid) ], count_diff: 0, args: [ Unidom::Standard::Standard.new(id: model_attributes[:target_id]) ] } ]

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
unidom-standard-1.4.2 lib/rspec/models/unidom/standard/standard_associating_spec.rb