feat(datasets): periods (start_date/end_date), dg_id column, date filters; rename observation dates
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package domain
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestFileTypeValid(t *testing.T) {
|
||||
valid := []FileType{FileTypeVectorWithKato, FileTypeVector, FileTypeRaster}
|
||||
@@ -72,3 +75,31 @@ func TestExtensionAllowedFor(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateDatePeriod(t *testing.T) {
|
||||
s := func(v string) *string { return &v }
|
||||
cases := []struct {
|
||||
name string
|
||||
start, end *string
|
||||
wantErr bool
|
||||
}{
|
||||
{"both nil", nil, nil, false},
|
||||
{"start only", s("2020-01-01"), nil, false},
|
||||
{"ordered", s("2020-01-01"), s("2020-12-31"), false},
|
||||
{"same day", s("2020-01-01"), s("2020-01-01"), false},
|
||||
{"reversed", s("2020-12-31"), s("2020-01-01"), true},
|
||||
{"bad start", s("01.01.2020"), nil, true},
|
||||
{"bad end", nil, s("2020-13-01"), true},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
err := ValidateDatePeriod(tc.start, tc.end)
|
||||
if (err != nil) != tc.wantErr {
|
||||
t.Fatalf("err=%v wantErr=%v", err, tc.wantErr)
|
||||
}
|
||||
if err != nil && !errors.Is(err, ErrValidation) {
|
||||
t.Fatalf("expected ErrValidation, got %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user