Sha256: 70dbb298cd56d252cd5eeb6304d59c6a111801c1a24e2fe7d7156770d7c336d8

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

require "spec_helper"

module LicenseFinder
  describe SourceSyncer do
    it "deletes any dependencies no longer in the source" do
      foo_dep     = double :foo, name: "foo"

      foo_dep.should_receive(:destroy)

      SourceSyncer.new([], [foo_dep]).sync!
    end

    it "merges any dependencies in the source" do
      source_foo  = double :source_foo, name: "foo"
      foo = double :foo, name: "foo"

      foo.should_receive(:merge).with source_foo

      SourceSyncer.new([source_foo], [foo]).sync!
    end

    it "creates any new source dependencies" do
      source_dep = double :source_dep, name: "foo", attributes: double(:attributes)

      source_dep.should_receive :save

      SourceSyncer.new([source_dep], []).sync!
    end

    it "returns the synced dependency set" do
      source_dep = double(:source_dep, name: "source_dep", attributes: double(:attributes)).as_null_object
      existing_dep = double :existing_dep, name: "existing", merge: nil

      SourceSyncer.new([source_dep, existing_dep], [existing_dep]).sync!.should =~ [source_dep, existing_dep]
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
license_finder-0.7.3 spec/lib/license_finder/source_syncer_spec.rb
license_finder-0.7.1 spec/lib/license_finder/source_syncer_spec.rb
license_finder-0.7.0 spec/lib/license_finder/source_syncer_spec.rb