Sha256: 56a0b467d907d209ef6b7af466af80830937f3f247f8d068e0843df2f307d375

Contents?: true

Size: 1.26 KB

Versions: 40

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

40 entries across 40 versions & 1 rubygems

Version Path
brightbox-cli-3.3.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-3.2.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-3.1.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-3.0.1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-3.0.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.12.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.11.2 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.11.1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.11.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.10.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.9.3 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.9.2 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.9.1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.9.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.8.2 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.8.1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.8.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.7.1 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.7.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb
brightbox-cli-2.6.0 spec/unit/brightbox/config/section_name_deduplicator_spec.rb