#!/usr/bin/perl use strict; use warnings; BEGIN { $ENV{TEST_FOORUM} = 1; } use FindBin qw/$Bin/; use File::Spec; use lib File::Spec->catdir( $FindBin::Bin, '..', 'lib' ); use Foorum::TestTheSchwartz; use Foorum::TheSchwartz::Worker::ResendActivation; use lib 'E:\Fayland\projects\moosex-theschwartz\lib'; use TheSchwartz::Moosified; use Foorum::SUtils qw/schema/; use Foorum::TestUtils qw/rollback_db/; plan tests => 4; run_test( sub { my $dbh = shift; my $client = TheSchwartz::Moosified->new(); $client->databases( [$dbh] ); my $schema = schema(); { # fake some data first $schema->resultset('User')->create( { user_id => 6, username => 'fayland', email => 'fayland@gmail.com', status => 'unverified', register_time => time() - 31 * 86400, nickname => 'nick', password => 'xxxxxxxxxxx', register_ip => '127.0.0.1', lang => 'en', } ); $schema->resultset('User')->create( { user_id => 7, username => 'fayland7', email => 'fayland7@gmail.com', status => 'unverified', register_time => time() - 15 * 86400, nickname => 'nick', password => 'xxxxxxxxxxx', register_ip => '127.0.0.1', lang => 'en', } ); } { my $handle = $client->insert( 'Foorum::TheSchwartz::Worker::ResendActivation'); $client->can_do('Foorum::TheSchwartz::Worker::ResendActivation'); $client->work_until_done; # test if OK my $mail_count = $schema->resultset('ScheduledEmail') ->count( { email_type => 'activation' } ); is( $mail_count, 1, 'has 1 , mail' ); my $mail_rs = $schema->resultset('ScheduledEmail') ->search( { email_type => 'activation' } )->first; ok($mail_rs); like( $mail_rs->subject, qr/Your Activation Code In/, 'subject has Your Activation Code In' ); is( $mail_rs->to_email, 'fayland@gmail.com', 'to_email OK' ); } } ); END { # Keep Database the same from original rollback_db(); } 1;