# Testscript for exercising adding packages

exec devbox init

# Add a package that is not part of the Devbox Search index.
# This exercises the fallback codepath for adding packages.
exec devbox add stdenv.cc.cc.lib
json.superset devbox.json expected_devbox1.json

# Add regular packages. Even though this is the more common scenario,
# we test this later, because the source.path below removes "devbox"
# from the PATH.
! exec rg --version
! exec vim --version
exec devbox add ripgrep vim

exec devbox shellenv
source.path
exec rg --version
exec vim --version
json.superset devbox.json expected_devbox2.json

-- devbox.json --
{
  "packages": [
  ]
}

-- expected_devbox1.json --
{
  "packages": [
    "stdenv.cc.cc.lib"
  ]
}

-- expected_devbox2.json --
{
  "packages": [
    "ripgrep@latest",
    "vim@latest",
    "stdenv.cc.cc.lib"
  ]
}
