package BeastBB::Mock::Database; use Mojo::Base 'BeastBB::Database'; use 5.32.1; use strict; use warnings; use Params::ValidationCompiler 'validation_for'; use Types::Standard qw/Str ArrayRef/; sub new { my $class = shift; return $class->SUPER::new( dsn => 'dbi:Mock:', auto_migrate => 0, max_connections => 1 ); } { my $validator = validation_for( params => { sql => { type => Str, optional => 1 }, results => { type => ArrayRef }, } ); sub Mock { my $self = shift; my %params = $validator->(@_); my $results = $params{results}; my $sql = $params{sql}; my $dbh = $self->Pg->db->dbh; $dbh->{mock_add_resultset} = { ( ( defined $sql ) ? ( sql => $sql ) : () ), results => $results, }; return; } } 1;