package formatters import ( "context" "testing" "time" "codeberg.org/danjones000/my-log/config" "codeberg.org/danjones000/my-log/models" "github.com/nalgeon/be" "github.com/spf13/viper" ) var empty []byte func setupNullTestContext(t *testing.T) context.Context { t.Helper() v := viper.New() v.SetConfigType("toml") return config.AddToContext(t.Context(), v) } func TestNullName(t *testing.T) { ctx := setupNullTestContext(t) f, err := New(ctx, "zero") be.Err(t, err, nil) be.Equal(t, f.Name(), "zero") } func TestNullMeta(t *testing.T) { ctx := setupNullTestContext(t) f, _ := New(ctx, "zero") o, err := f.Meta(models.Meta{Key: "foo", Value: 42}) be.Err(t, err, nil) be.Equal(t, o, empty) } func TestNullEntry(t *testing.T) { ctx := setupNullTestContext(t) f, _ := New(ctx, "zero") o, err := f.Entry(models.Entry{Title: "title", Date: time.Now()}) be.Err(t, err, nil) be.Equal(t, o, empty) } func TestNullLog(t *testing.T) { ctx := setupNullTestContext(t) f, _ := New(ctx, "zero") o, err := f.Log(models.Log{Name: "jim", Entries: []models.Entry{{Title: "title", Date: time.Now()}}}) be.Err(t, err, nil) be.Equal(t, o, empty) } func TestNullLogs(t *testing.T) { ctx := setupNullTestContext(t) f, _ := New(ctx, "zero") o, err := f.Logs([]models.Log{{Name: "jim", Entries: []models.Entry{{Title: "title", Date: time.Now()}}}}) be.Err(t, err, nil) be.Equal(t, o, empty) }