Something went wrong. Try again.
Perl game server for TLE Community
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159use lib '../lib';use Test::More tests => 11;use Test::Deep;use Data::Dumper;use 5.010;use DateTime;
use strict;use warnings;
use TestHelper;TestHelper->clear_all_test_empires;
my $tester = TestHelper->new->generate_test_empire->build_infrastructure;my $session_id = $tester->session->id;my $empire = $tester->empire;my $home = $empire->home_planet;
my $result;
my $forge_level = 5;my $forge = $tester->build_building('Lacuna::DB::Result::Building::Permanent::TheDillonForge', $forge_level);my $arch = $tester->build_building('Lacuna::DB::Result::Building::Archaeology', 15);my $trade = $tester->build_building('Lacuna::DB::Result::Building::Trade', 15);
# create some plans to split and combine
for (1..21) { $home->add_plan('Lacuna::DB::Result::Building::SpacePort', 5);}
for (1..21) { $home->add_plan('Lacuna::DB::Result::Building::SpacePort', 1);}
$home->add_plan('Lacuna::DB::Result::Building::Permanent::AlgaePond', 1);$home->add_plan('Lacuna::DB::Result::Building::Permanent::AlgaePond', 1, 5);
$result = $tester->post('thedillonforge', 'view', [$session_id, $forge->id]);
is_deeply($result->{result}{tasks}, { can => 1, make_plan => [ { name => 'Space Port', max_level => $forge_level, class => 'SpacePort', reset_sec_per_level => 5000, } ], split_plan => [ { name => 'Algae Pond', class => 'Permanent::AlgaePond', level => 1, extra_build_level => 0, fail_chance => 85, reset_seconds => 21600, }, { name => 'Algae Pond', class => 'Permanent::AlgaePond', level => 1, extra_build_level => 5, fail_chance => 85, reset_seconds => 453600, } ],});
$result = $tester->post('thedillonforge', 'subsidize', [$session_id, $forge->id]);
is_deeply($result->{error}, { data => undef, message => 'Nothing is being done!', code => 1010,});
$result = $tester->post('thedillonforge', 'make_plan', [$session_id, $forge->id, 'SpacePort', 6]);
is_deeply($result->{error}, { data => undef, message => 'Your Dillon Forge level is not high enough to build that high a plan level.', code => 1002,});
$result = $tester->post('thedillonforge', 'make_plan', [$session_id, $forge->id, 'SpacePort', $forge_level]);
is_deeply($result->{result}{tasks}, { seconds_remaining => 25000, can => 0,});
$result = $tester->post('thedillonforge', 'subsidize', [$session_id, $forge->id]);
is_deeply($result->{error}, { data => undef, message => 'Not enough essentia.', code => 1011,});
$empire->add_essentia({ amount => 100, reason => 'testing The Dillon Forge'});$empire->update;
$result = $tester->post('thedillonforge', 'subsidize', [$session_id, $forge->id]);
my $plans_1 = $home->plans->search({ level => 1, class => 'Lacuna::DB::Result::Building::SpacePort', extra_build_level => 0,})->count;
is($plans_1, 11, "We have consumed 10 level 1 plans");
my $plans_5 = $home->plans->search({ level => 5, class => 'Lacuna::DB::Result::Building::SpacePort', extra_build_level => 0,})->count;
is($plans_5, 22, "We have created an extra level 5+0 plan");
$result = $tester->post('thedillonforge', 'split_plan', [$session_id, $forge->id, 'SpacePort', 1, 0]);
is_deeply($result->{error}, { data => undef, message => 'You can only split plans that have a glyph recipe.', code => 1002,});
$result = $tester->post('thedillonforge', 'split_plan', [$session_id, $forge->id, 'Permanent::AlgaePond', 1, 5]);
is_deeply($result->{result}{tasks}, { seconds_remaining => 453600, can => 0,});
$result = $tester->post('thedillonforge', 'subsidize', [$session_id, $forge->id]);
$plans_1 = $home->plans->search({ level => 1, class => 'Lacuna::DB::Result::Building::Permanent::AlgaePond', extra_build_level => 5,})->count;
is($plans_1, 0, "We have split a plan into glyphs");
my $glyphs = $home->glyphs->search({ })->count;
cmp_ok($glyphs, '>', 0, "We expect at least one glyph");
END {# TestHelper->clear_all_test_empires;}1;