Red.git | t/ | 62-date-coercion.rakutest
#!/usr/bin/env raku
use Test;
use Red;
my DateTime $now = "1981-05-21T06:00:00".DateTime;
my $*RED-FALLBACK = $_ with %*ENV<RED_FALLBACK>;
my $*RED-DEBUG = $_ with %*ENV<RED_DEBUG>;
my $*RED-DEBUG-RESPONSE = $_ with %*ENV<RED_DEBUG_RESPONSE>;
my $*RED-DEBUG-AST = $_ with %*ENV<RED_DEBUG_AST>;
my @conf = (%*ENV<RED_DATABASE> // "SQLite").split(" ");
my $driver = @conf.shift;
my $*RED-DB = database $driver, |%( @conf.map: { do given .split: "=" { .[0] => val .[1] } } );
model Foo {
has Int $.id is serial;
has DateTime $.foo-date is column = $now;
}
schema(Foo).drop.create;
Foo.^create;
my Str $today = $now.Date.Str;
ok Foo.^all.grep(*.foo-date.yyyy-mm-dd eq $today).elems, "explicit .yyyy-mm-dd";
ok Foo.^all.grep(*.foo-date eq $now.Date).elems, "eq with Date RHS";
ok Foo.^all.grep(*.foo-date == $now.Date).elems, "== with Date RHS";
done-testing;