CatalystX-Controller-ExtJS-REST-SimpleExcel

 view release on metacpan or  search on metacpan

t/basic.t  view on Meta::CPAN

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 )