github.com/iotexproject/iotex-core@v1.14.1-rc1/ioctl/newcmd/config/config_reset_test.go (about) 1 package config 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/golang/mock/gomock" 8 "github.com/stretchr/testify/require" 9 10 "github.com/iotexproject/iotex-core/ioctl/config" 11 "github.com/iotexproject/iotex-core/ioctl/util" 12 "github.com/iotexproject/iotex-core/test/mock/mock_ioctlclient" 13 ) 14 15 func TestConfigResetCommand(t *testing.T) { 16 require := require.New(t) 17 ctrl := gomock.NewController(t) 18 defer ctrl.Finish() 19 client := mock_ioctlclient.NewMockClient(ctrl) 20 client.EXPECT().Config().Return(config.Config{}).Times(2) 21 client.EXPECT().SelectTranslation(gomock.Any()).Return("config reset", config.English).Times(2) 22 23 t.Run("successful config reset", func(t *testing.T) { 24 client.EXPECT().ConfigFilePath().Return(fmt.Sprintf("%s/%s", t.TempDir(), "config.file")) 25 cmd := NewConfigResetCmd(client) 26 result, err := util.ExecuteCmd(cmd, "reset") 27 require.NoError(err) 28 require.Contains(result, "successfully reset config") 29 }) 30 31 t.Run("config reset error", func(t *testing.T) { 32 client.EXPECT().ConfigFilePath().Return("\x00") 33 // use invalid file name to force error 34 cmd := NewConfigResetCmd(client) 35 _, err := util.ExecuteCmd(cmd, "reset") 36 require.Contains(err.Error(), "failed to reset config") 37 }) 38 }