summaryrefslogtreecommitdiffstats
path: root/pkg/utils
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-07-29 17:02:04 +1000
committerJesse Duffield <jessedduffield@gmail.com>2023-07-30 18:35:36 +1000
commit7b302d8c298ca2eb7e08d63f993186d25252f97e (patch)
treeef50114f45816c9dc16cfa6e827cbd74fce38469 /pkg/utils
parenta1fae4105116775b5c4a0c9c3b01fa822b29cfac (diff)
Write unit tests with the help of afero
Afero is a package that lets you mock out a filesystem with an in-memory filesystem. It allows us to easily create the files required for a given test without worrying about a cleanup step or different tests tripping on eachother when run in parallel. Later on I'll standardise on using afero over the vanilla os package
Diffstat (limited to 'pkg/utils')
-rw-r--r--pkg/utils/dummies.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkg/utils/dummies.go b/pkg/utils/dummies.go
index 08de78d1d..96c56b903 100644
--- a/pkg/utils/dummies.go
+++ b/pkg/utils/dummies.go
@@ -7,6 +7,7 @@ import (
"github.com/jesseduffield/lazygit/pkg/config"
"github.com/jesseduffield/lazygit/pkg/i18n"
"github.com/sirupsen/logrus"
+ "github.com/spf13/afero"
)
// NewDummyLog creates a new dummy Log for testing
@@ -22,6 +23,7 @@ func NewDummyCommon() *common.Common {
Log: NewDummyLog(),
Tr: &tr,
UserConfig: config.GetDefaultConfig(),
+ Fs: afero.NewOsFs(),
}
}
@@ -31,5 +33,8 @@ func NewDummyCommonWithUserConfig(userConfig *config.UserConfig) *common.Common
Log: NewDummyLog(),
Tr: &tr,
UserConfig: userConfig,
+ // TODO: remove dependency on actual filesystem in tests and switch to using
+ // in-memory for everything
+ Fs: afero.NewOsFs(),
}
}