CatalystX-Controller-ExtJS-REST-SimpleExcel
view release on metacpan or search on metacpan
use Test::More;
use strict;
use warnings;
use HTTP::Request::Common;
use JSON;
use Spreadsheet::ParseExcel ();
use lib qw(t/lib);
use Test::WWW::Mechanize::Catalyst 'MyApp';
my $mech = Test::WWW::Mechanize::Catalyst->new();
MyApp->model('DBIC::User')->create({ name => 'peter', password => 'random'})
for(1..10);
$mech->add_header( 'Accept' => 'application/json' );
$mech->get_ok( "/users", undef, 'request list of users' );
ok( my $json = JSON::decode_json( $mech->content ),
'response is JSON response' );
is( $json->{results}, 10, '10 results' );
$mech->get_ok( "/users?content-type=application%2Fvnd.ms-excel", undef, 'request list of users' );
ok(my $excel = Spreadsheet::ParseExcel::Workbook->Parse(\($mech->content)),
'parsed file');
my $sheet = $excel->{Worksheet}[0];
is_deeply(
read_sheet($sheet),
[
[
'id',
'name',
'password'
],
[
'1',
'peter',
'random'
],
[
'2',
'peter',
'random'
],
[
'3',
'peter',
'random'
],
[
'4',
'peter',
'random'
],
[
'5',
'peter',
'random'
],
[
( run in 0.383 second using v1.01-cache-2.11-cpan-6b5c3043376 )