Sha256: 2fda9019f3718a710987c3d424aa3ad6d70c82a19242fc09d7142193dcf5a0c9

Contents?: true

Size: 1.26 KB

Versions: 18

Compression:

Stored size: 1.26 KB

Contents

require "spec_helper"

describe Brightbox::Config::SectionNameDeduplicator do
  subject(:deduper) { Brightbox::Config::SectionNameDeduplicator.new(name, in_use) }

  describe "#next" do
    context "when name is not taken" do
      let(:name) { "app-12345" }
      let(:in_use) { [] }

      it "returns name" do
        expect(deduper.next).to eql("app-12345")
      end
    end

    context "when application ID already exists" do
      let(:name) { "app-12345" }
      let(:in_use) { [name] }

      it "returns a deduplicated name" do
        expect(deduper.next).to eql("app-12345_1")
      end
    end

    context "when alias already exists" do
      let(:name) { "test" }
      let(:in_use) { [name] }

      it "returns a deduplicated name" do
        expect(deduper.next).to eql("test_1")
      end
    end

    context "when name has been deduped before" do
      let(:name) { "dev" }
      let(:in_use) { %w[dev dev_1 dev_2] }

      it "returns a deduplicated name" do
        expect(deduper.next).to eql("dev_3")
      end
    end

    context "when alias has a numerical suffix already" do
      let(:name) { "app_1984" }
      let(:in_use) { ["app_1984"] }

      it "returns a deduplicated name" do
        expect(deduper.next).to eql("app_1985")
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
brightbox-cli-5.0.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-5.0.0.rc2 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-5.0.0.rc1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-5.0.0.alpha spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.8.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.7.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.6.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.5.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.5.0.rc1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.4.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.3.2 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.3.1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.3.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.2.1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.2.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.1.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.0.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-4.0.0.rc2 spec/unit/brightbox/config/section_name_deduplicator_spec.rb