Files
Alessandro ScandoneandGitHub 5dfc34cd3c feat: feature flag syntax (#120)
* feat: feature flag syntax

* feat: change syntax

* feat: reject invalid features

* feat: add static check of unknown features

* feat: more defensive args handling

* fix: fix typo
2026-03-04 13:32:35 +00:00

48 lines
989 B
Go

package cmd_test
import (
"math/big"
"testing"
"github.com/formancehq/numscript/internal/cmd"
"github.com/formancehq/numscript/internal/interpreter"
"github.com/stretchr/testify/require"
)
func TestMakeSpecsFileRetryForMissingFunds(t *testing.T) {
out, err := cmd.MakeSpecsFile(`
send [USD/2 10000] (
source = @alice
destination = @bob
)
`)
require.Nil(t, err)
require.Equal(t, interpreter.Balances{
"alice": interpreter.AccountBalance{
"USD/2": big.NewInt(10000),
},
}, out.Balances)
}
func TestUnusedVars(t *testing.T) {
out, err := cmd.MakeSpecsFile(`
vars { monetary $m }
`)
require.Nil(t, err)
require.Equal(t, interpreter.VariablesMap{"m": "USD/2 100"}, out.Vars)
}
func TestMakeSpecsFileRetryForMissingFeatureFlags(t *testing.T) {
out, err := cmd.MakeSpecsFile(`
send [USD/2 10000] (
source = oneof { @world }
destination = @bob
)
`)
require.Nil(t, err)
require.Equal(t, []string{"experimental-oneof"}, out.FeatureFlags)
}