Sha256: 52ef90d195605e613bc28dad0e9b89559d929bfeff26b16e868783569e7fbce5

Contents?: true

Size: 1.58 KB

Versions: 4

Compression:

Stored size: 1.58 KB

Contents

require "test_helper"
require "yaml"

module Cogy
  class InventoryTest < ActionDispatch::IntegrationTest
    include Engine.routes.url_helpers

    setup { @routes = Engine.routes }

    def test_valid_yaml
      with_config(bundle: { name: "hyu", version: "5.0",
                            description: "Yet another bundle" },
                  command_load_paths: ["cogy"]) do |inv|
        assert_equal "hyu", inv["name"]
        assert_equal "5.0", inv["version"]
        assert_equal "Yet another bundle", inv["description"]
      end
    end

    def test_cog_bundle_version
      assert_equal 4, fetch_inventory["cog_bundle_version"]
    end

    def test_bundle_version_lambda
      with_config(bundle: { version: -> { 1 + 2 } }) do |inv|
        assert_equal 3, inv["version"]
      end
    end

    def test_commands_section
      with_config(bundle: { cogy_executable: "/bin/no" }) do |inv|
        expected = {
          "executable" => "/bin/no",
          "description" => "Print a foo",
          "rules" => ["allow"]
        }

        assert_equal expected, inv["commands"]["say_foo"]
      end
    end

    def test_without_commands
      without_commands do
        refute_includes fetch_inventory.keys, "commands"
      end
    end

    def test_content_type
      get "/cogy/inventory"
      assert_equal "application/x-yaml", response.content_type
    end

    def test_template
      get "/cogy/inventory"

      expected = <<TEMPLATE.strip
**foo:** ~$results[0].name~

~br~

foo
TEMPLATE

      assert_equal expected, fetch_inventory["templates"]["pretty-command"]["body"]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cogy-0.4.0 test/integration/inventory_test.rb
cogy-0.3.0 test/integration/inventory_test.rb
cogy-0.2.1 test/integration/inventory_test.rb
cogy-0.2.0 test/integration/inventory_test.rb