105 lines
3.4 KiB
Perl
105 lines
3.4 KiB
Perl
#!/usr/bin/env perl
|
|
|
|
use v5.30.0;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Data::Dumper;
|
|
|
|
use Test::Most tests => 4;
|
|
|
|
use DateTime;
|
|
|
|
use Peace;
|
|
use Peace::DB;
|
|
use Peace::Model::Developer;
|
|
use Peace::DAO::Developer;
|
|
use Peace::Model::Application;
|
|
use Peace::DAO::Application;
|
|
|
|
{
|
|
## GIVEN
|
|
my $current_date = DateTime->now;
|
|
my $peace = Peace->new;
|
|
my $home = $ENV{HOME};
|
|
my $config =
|
|
$peace->plugin(
|
|
JSONConfig => { file => "$home/.config/peace/peace.conf" } );
|
|
my $dbh = Peace::DB->dbh( config => $config );
|
|
my $secret_bcrypt = 'hola';
|
|
my $developer = Peace::Model::Developer->new(
|
|
name => 'Larry',
|
|
surname => 'Wall',
|
|
email => 'larry@perl.org',
|
|
country => 'US',
|
|
verified => 0,
|
|
secret_bcrypt => $secret_bcrypt
|
|
);
|
|
my $developer_dao = Peace::DAO::Developer->new( dbh => $dbh );
|
|
$developer_dao->create( developer => $developer );
|
|
my $application = Peace::Model::Application->new(
|
|
name => 'Desfronificator',
|
|
description => 'Desfronifies the files.',
|
|
url => 'desfronificator.example.com',
|
|
developer => $developer,
|
|
price => 0,
|
|
flatpak_builder_file => './resources/com.example.desfronificator.yml',
|
|
git_repo =>
|
|
'https://git.desfronificator.example.com/larry/desfronificator.git',
|
|
verified => 0,
|
|
);
|
|
my $application_dao = Peace::DAO::Application->new( dbh => $dbh );
|
|
|
|
## WHEN
|
|
$application_dao->create( application => $application );
|
|
|
|
## THEN
|
|
ok $application->uuid, 'Generated uuid.';
|
|
ok $application->date_creation > $current_date, 'The date is recent.';
|
|
}
|
|
{
|
|
## GIVEN
|
|
my $current_date = DateTime->now;
|
|
my $peace = Peace->new;
|
|
my $home = $ENV{HOME};
|
|
my $config =
|
|
$peace->plugin(
|
|
JSONConfig => { file => "$home/.config/peace/peace.conf" } );
|
|
my $dbh = Peace::DB->dbh( config => $config );
|
|
my $secret_bcrypt = 'hola';
|
|
my $developer = Peace::Model::Developer->new(
|
|
name => 'Larry',
|
|
surname => 'Wall',
|
|
email => 'larry@perl.org',
|
|
country => 'US',
|
|
verified => 0,
|
|
secret_bcrypt => $secret_bcrypt,
|
|
dbh => $dbh,
|
|
);
|
|
my $developer_dao = Peace::DAO::Developer->new( dbh => $dbh );
|
|
$developer_dao->create( developer => $developer );
|
|
my $application = Peace::Model::Application->new(
|
|
name => 'Desfronificator',
|
|
description => 'Desfronifies the files.',
|
|
url => 'desfronificator.example.com',
|
|
developer => $developer,
|
|
price => 0,
|
|
flatpak_builder_file => './resources/com.example.desfronificator.yml',
|
|
git_repo =>
|
|
'https://git.desfronificator.example.com/larry/desfronificator.git',
|
|
verified => 0,
|
|
);
|
|
my $application_dao = Peace::DAO::Application->new( dbh => $dbh );
|
|
|
|
$application_dao->create( application => $application );
|
|
|
|
## WHEN
|
|
my $applications = $developer->applications;
|
|
|
|
## THEN
|
|
ok @$applications, 'Applications was at least a element.';
|
|
ok $applications->[0]->isa('Peace::Model::Application'),
|
|
'Application is made of developer.';
|
|
}
|