#!/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.'; }