package model import ( "io" "os" "testing" "github.com/stretchr/testify/require" ) func TestReadConfig(t *testing.T) { t.Run("should correctly read a configuration file", func(t *testing.T) { f, err := os.CreateTemp("", "birthdaybot-") require.NoError(t, err) defer os.Remove(f.Name()) _, werr := io.WriteString(f, "---\nbirthdays:\n file: birthday.csv") require.NoError(t, werr) require.NoError(t, f.Close()) config, err := ReadConfig(f.Name()) require.NoError(t, err) require.Equal(t, "birthday.csv", config.Birthdays.File) }) t.Run("should fail if the file doesn't exist", func(t *testing.T) { f, err := os.CreateTemp("", "birthdaybot-") require.NoError(t, err) f.Close() os.Remove(f.Name()) config, err := ReadConfig(f.Name()) require.Error(t, err) require.Nil(t, config) }) }