From 156e69c8255bbfe5610463c32deaa9f5d5baea04 Mon Sep 17 00:00:00 2001 From: sergiotarxz Date: Tue, 15 Mar 2022 17:41:42 +0100 Subject: [PATCH] Adding functional test of database integration. Since the project is not functional still I made the changes needed in database in order of it to work directly over the creation migration. --- db_tests/00002-developer-dao.t | 43 ++++++++++++++++++++++++++++++++++ lib/Peace/DB.pm | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 db_tests/00002-developer-dao.t diff --git a/db_tests/00002-developer-dao.t b/db_tests/00002-developer-dao.t new file mode 100644 index 0000000..a9395f0 --- /dev/null +++ b/db_tests/00002-developer-dao.t @@ -0,0 +1,43 @@ +#!/usr/bin/env perl + +use v5.30.0; + +use strict; +use warnings; + +use Test::Most tests => 2; + +use DateTime; + +use Peace; +use Peace::DB; +use Peace::Model::Developer; +use Peace::DAO::Developer; + +{ + ## 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 ); + + ## WHEN + $developer_dao->create( developer => $developer ); + + ## THEN + ok $developer->uuid, 'Generated uuid.'; + ok $developer->date_creation > $current_date, 'The date is recent.'; +} diff --git a/lib/Peace/DB.pm b/lib/Peace/DB.pm index 205a69e..d117fa8 100644 --- a/lib/Peace/DB.pm +++ b/lib/Peace/DB.pm @@ -31,7 +31,7 @@ my @migrations = ( name TEXT NOT NULL, surname TEXT NOT NULL, email TEXT NOT NULL, - stripe_id TEXT NOT NULL, + stripe_id TEXT, country TEXT NOT NULL, verified BOOL DEFAULT false, PRIMARY KEY (uuid)