Sha256: d70b81d1c5954b712c88f9c5b5e4cd08ef18c8d6f955835cea16945846bb79f0

Contents?: true

Size: 1.91 KB

Versions: 6

Compression:

Stored size: 1.91 KB

Contents

require 'spec_helper'

module LicenseFinder
  describe PackageSaver do
    let(:package) do
      double(
        :package,
        license: 'license',
        children: ['child'],
        groups: [:group],
        summary: 'summary',
        description: 'description',
        name: 'spec_name',
        version: '1.2.3',
        homepage: 'http://example.com'
      )
    end

    describe ".save_all" do
      let(:dependency) { double(:dependency).as_null_object }

      it "find and updates relevant dependencies" do
        Dependency.should_receive(:named).with('spec_name').and_return(dependency)
        dependency.should_receive(:save_changes)
        described_class.save_all([package])
      end
    end

    describe "#save" do
      it "persists changes" do
        dep = Dependency.create(
          name: 'spec_name',
          version: '0.1.2',
          summary: 'old summary',
          description: 'old desription',
          homepage: 'old homepage',
          license: LicenseAlias.named('old license')
        )
        dep.add_bundler_group BundlerGroup.named("old group")
        dep.add_child Dependency.named("old child")

        saver = described_class.new(dep, package)
        subject = saver.save

        subject.id.should be
        subject.name.should == "spec_name"
        subject.version.should == "1.2.3"
        subject.summary.should == "summary"
        subject.description.should == "description"
        subject.homepage.should == "http://example.com"
        subject.bundler_groups.map(&:name).should == ['group']
        subject.children.map(&:name).should == ['child']
        subject.license.name.should == 'license'
      end

      it "keeps approval" do
        dep = Dependency.create(
          name: 'spec_name',
          manually_approved: true
        )
        saver = described_class.new(dep, package)
        subject = saver.save

        subject.should be_approved
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
license_finder-1.0.0.0 spec/lib/license_finder/package_saver_spec.rb
license_finder-1.0.0.0-java spec/lib/license_finder/package_saver_spec.rb
license_finder-0.9.5.1-java spec/lib/license_finder/package_saver_spec.rb
license_finder-0.9.5.1 spec/lib/license_finder/package_saver_spec.rb
license_finder-0.9.5 spec/lib/license_finder/package_saver_spec.rb
license_finder-0.9.5-java spec/lib/license_finder/package_saver_spec.rb