4ffddd17c6bbdcb91456bb7b9b6dd3d693748e28
[engit/Iron-Munger.git] / t / stats_saver.t
1 use strict;
2 use warnings;
3 use Test::More qw(no_plan);
4 use IO::All;
5 use File::Temp qw(tempdir);
6
7 BEGIN { use_ok aliased => 'IronMunger::StatsSaver'; }
8 BEGIN { use_ok aliased => 'IronMunger::Monger'; }
9
10 ok(
11   (my $saver = StatsSaver->new(dir => 'X')),
12   'Constructed object ok'
13 );
14
15 is(
16   $saver->_image_symlink_target('male','iron'), 'X/badges/male/iron.png',
17   'Symlink target ok',
18 );
19
20 is(
21   $saver->_image_symlink_from('mst', 'female'), 'X/mybadge/female/mst.png',
22   'Symlink from ok',
23 );
24
25 my $monger = Monger->new(
26   nick => 'mst',
27   posts => []
28 );
29
30 is($monger->level, 'paper', 'mst sucks');
31
32 my $dir = tempdir(CLEANUP => 1);
33
34 $saver = StatsSaver->new(dir => $dir);
35
36 $saver->_write_symlinks_for($monger);
37
38 my @links = sort map $_->readlink, grep -l, io($dir)->all_files;
39
40 warn join("\n", @links);