Files
cli/pkg/vm/descriptor_test.go
zeekay 4f084d7aeb Fix all remaining CI errors with parallel CTO agents
- Fix PrintToUser non-constant format string errors properly
- Fix config.LuxDataDirVar renamed to LuxNodeDataDirVar
- Fix mock interface issues between CLI and SDK prompts
- Fix address type conversions (geth Address vs crypto Address)
- Add SDKPrompter mock for SDK interface compatibility
- Fix networkID type issues in tests
- Add Q-Chain support infrastructure

All test compilation issues resolved.
2025-10-03 04:45:14 +00:00

52 lines
1.2 KiB
Go

// Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package vm
import (
"errors"
"io"
"testing"
"github.com/luxfi/cli/internal/mocks"
"github.com/luxfi/cli/pkg/application"
"github.com/luxfi/cli/pkg/ux"
luxlog "github.com/luxfi/log"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
)
const testToken = "TEST"
func setupTest(t *testing.T) *require.Assertions {
// use io.Discard to not print anything
ux.NewUserLog(luxlog.NewNoOpLogger(), io.Discard)
return require.New(t)
}
func Test_getChainId(t *testing.T) {
require := setupTest(t)
app := application.New()
mockPrompt := &mocks.SDKPrompter{}
app.Prompt = mockPrompt
mockPrompt.On("CaptureString", mock.Anything).Return(testToken, nil)
token, err := getTokenName(app)
require.NoError(err)
require.Equal(testToken, token)
}
func Test_getChainId_Err(t *testing.T) {
require := setupTest(t)
app := application.New()
mockPrompt := &mocks.SDKPrompter{}
app.Prompt = mockPrompt
testErr := errors.New("Bad prompt")
mockPrompt.On("CaptureString", mock.Anything).Return("", testErr)
_, err := getTokenName(app)
require.ErrorIs(testErr, err)
}