test: add tests for the dirs cmd (#1243)

Carlos Alexandro Becker created

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Change summary

internal/cmd/dirs_test.go | 46 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Detailed changes

internal/cmd/dirs_test.go 🔗

@@ -0,0 +1,46 @@
+package cmd
+
+import (
+	"bytes"
+	"os"
+	"path/filepath"
+	"testing"
+
+	"github.com/stretchr/testify/require"
+)
+
+func init() {
+	os.Setenv("XDG_CONFIG_HOME", "/tmp/fakeconfig")
+	os.Setenv("XDG_DATA_HOME", "/tmp/fakedata")
+}
+
+func TestDirs(t *testing.T) {
+	var b bytes.Buffer
+	dirsCmd.SetOut(&b)
+	dirsCmd.SetErr(&b)
+	dirsCmd.SetIn(bytes.NewReader(nil))
+	dirsCmd.Run(dirsCmd, nil)
+	expected := filepath.FromSlash("/tmp/fakeconfig/crush") + "\n" +
+		filepath.FromSlash("/tmp/fakedata/crush") + "\n"
+	require.Equal(t, expected, b.String())
+}
+
+func TestConfigDir(t *testing.T) {
+	var b bytes.Buffer
+	configDirCmd.SetOut(&b)
+	configDirCmd.SetErr(&b)
+	configDirCmd.SetIn(bytes.NewReader(nil))
+	configDirCmd.Run(configDirCmd, nil)
+	expected := filepath.FromSlash("/tmp/fakeconfig/crush") + "\n"
+	require.Equal(t, expected, b.String())
+}
+
+func TestDataDir(t *testing.T) {
+	var b bytes.Buffer
+	dataDirCmd.SetOut(&b)
+	dataDirCmd.SetErr(&b)
+	dataDirCmd.SetIn(bytes.NewReader(nil))
+	dataDirCmd.Run(dataDirCmd, nil)
+	expected := filepath.FromSlash("/tmp/fakedata/crush") + "\n"
+	require.Equal(t, expected, b.String())
+}