94 lines
2.6 KiB
Ruby
94 lines
2.6 KiB
Ruby
require_relative "test_helper"
|
|
|
|
class ResolverTest < Minitest::Test
|
|
def test_configured_project_uses_configured_board
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/dev/some-repo",
|
|
config_contents: "board: llf-schema\n",
|
|
boards: %w[llf-schema other-board]
|
|
)
|
|
|
|
assert_equal "use llf-schema", resolver.resolve_string
|
|
end
|
|
|
|
def test_unconfigured_dev_repo_uses_board_named_after_repo
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/dev/llf-schema",
|
|
config_contents: nil,
|
|
boards: %w[llf-schema]
|
|
)
|
|
|
|
assert_equal "use llf-schema", resolver.resolve_string
|
|
end
|
|
|
|
def test_unconfigured_client_repo_uses_board_named_after_repo
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/clients/acme-co",
|
|
config_contents: nil,
|
|
boards: %w[acme-co]
|
|
)
|
|
|
|
assert_equal "use acme-co", resolver.resolve_string
|
|
end
|
|
|
|
def test_matching_archived_board_activates
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/dev/old-project",
|
|
config_contents: nil,
|
|
boards: %w[archived--old-project]
|
|
)
|
|
|
|
assert_equal "activate archived--old-project", resolver.resolve_string
|
|
end
|
|
|
|
def test_configured_archived_board_activates
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/dev/some-repo",
|
|
config_contents: "board: old-project\n",
|
|
boards: %w[archived--old-project]
|
|
)
|
|
|
|
assert_equal "activate archived--old-project", resolver.resolve_string
|
|
end
|
|
|
|
def test_no_match_stops_and_discusses
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/dev/brand-new-repo",
|
|
config_contents: nil,
|
|
boards: %w[unrelated-board]
|
|
)
|
|
|
|
assert_equal "stop-and-discuss", resolver.resolve_string
|
|
end
|
|
|
|
def test_path_outside_dev_and_clients_is_ambiguous
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/scratch/some-repo",
|
|
config_contents: nil,
|
|
boards: %w[some-repo]
|
|
)
|
|
|
|
assert_equal "stop-and-discuss", resolver.resolve_string
|
|
end
|
|
|
|
def test_configured_board_with_no_match_stops_and_discusses
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/dev/some-repo",
|
|
config_contents: "board: nonexistent\n",
|
|
boards: %w[llf-schema]
|
|
)
|
|
|
|
assert_equal "stop-and-discuss", resolver.resolve_string
|
|
end
|
|
|
|
def test_empty_config_contents_is_treated_as_unconfigured
|
|
resolver = Backlog::Resolver.new(
|
|
repo_path: "/home/jared/dev/llf-schema",
|
|
config_contents: "",
|
|
boards: %w[llf-schema]
|
|
)
|
|
|
|
assert_equal "use llf-schema", resolver.resolve_string
|
|
end
|
|
end
|