DBIx-Class-Helpers

 view release on metacpan or  search on metacpan

t/lib/A/ResultSet/DateMethods1.pm  view on Meta::CPAN

package A::ResultSet::DateMethods1;

use Test::Roo;
use Test::Deep 'cmp_deeply', 'bag';
use DateTime;
use Test::Fatal;

with 'A::Role::TestConnect';

use lib 't/lib';

sub _dt {
   DateTime->new(
      time_zone => 'UTC',
      year => shift(@_), month => shift(@_), day => shift(@_),
   )
}

has [qw(
   add_sql_by_part_skip add_sql_by_part_result
   subtract_sql_by_part_skip subtract_sql_by_part_result
   pluck_sql_by_part_skip pluck_sql_by_part_result
)] => (
   is => 'ro',
   default => sub { {} },
);

has [map "${_}_sql_by_part", qw(pluck add subtract)] => (
   is => 'ro',
   default => sub { {} },
);

has _skip_msg_once => ( is => 'rw' );
sub skip_reason {
   return '(see above)' if $_[0]->_skip_msg_once;
   $_[0]->_skip_msg_once(1);
   'set ' . join(q<, >, shift->env_vars) . ' to run these tests'
}

has [qw(
   utc_now stringified_date add_sql_prefix subtract_sql_prefix sub_sql pluck_sql_prefix
)] => (is => 'ro');

has plucked_minute => (
   is => 'ro',
   default => 9,
);

has plucked_second => (
   is => 'ro',
   default => 8,
);

sub _merged_pluck_sql_by_part_result {
   my $self = shift;

   my %base = (
      year         => 2012,
      month        => 1,
      day_of_month => 2,
      hour         => 3,
      day_of_year  => 2,
      minute       => 4,
      second       => 5,
      day_of_week  => 1,
      week         => 1,



( run in 2.041 seconds using v1.01-cache-2.11-cpan-54e63673c56 )