=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/t/GET/entry.t,v retrieving revision 1.4 retrieving revision 1.9 diff -u -r1.4 -r1.9 --- todotxt/Text-Todo-REST-API/t/GET/entry.t 2010/01/24 04:38:21 1.4 +++ todotxt/Text-Todo-REST-API/t/GET/entry.t 2010/01/31 03:10:39 1.9 @@ -7,90 +7,57 @@ # AUTHOR: Andrew Fresh (AAF), andrew@cpan.org # COMPANY: Red River Communications # CREATED: 01/07/10 19:11 -# REVISION: $AFresh1: entry.t,v 1.3 2010/01/23 07:15:40 andrew Exp $ +# REVISION: $AFresh1: entry.t,v 1.8 2010/01/26 06:03:11 andrew Exp $ #=============================================================================== use strict; use warnings; -use Test::More tests => 50; +use Test::More tests => 89; +my $api_class; my $class; BEGIN { - $class = 'Text::Todo::REST::API'; - use_ok( $class, "use $class" ); + $api_class = 'Text::Todo::REST::API'; + $class = 'Text::Todo::REST::API::Actions::GET'; + + use_ok( $api_class, "use $api_class" ); + use_ok( $class, "use $class" ); } -diag("Testing GET entry $class $Text::Todo::REST::API::VERSION"); +diag( + "Testing GET entry $class $Text::Todo::REST::API::Actions::GET::VERSION"); -my $api = new_ok( $class, [ { todo_dir => 't/lists' } ] ); +my $api = new_ok( $api_class, [ { todo_dir => 't/lists' } ] ); +my $action = new_ok($class); -my $list_should_be = [ - { 'text' => '(A) entry 1 @one +uno', - 'md5' => '931e0831c31a70928b29de55778dc294', - 'line' => 1 - }, - { 'text' => 'entry 2 @two +dos', - 'md5' => 'b38dde8029c047e81379d9de581a6251', - 'line' => 2 - }, - { 'text' => '', - 'md5' => 'd41d8cd98f00b204e9800998ecf8427e', - 'line' => 3 - }, - { 'text' => 'x completed entry 4', - 'md5' => '8de0a2b65a50d5e30e84ad48af46fa78', - 'line' => 4 - }, - { 'text' => '(B) entry 5 is priority', - 'md5' => 'c1692dfbf3b5829b6bce44b1a1614980', - 'line' => 5 - }, - { 'text' => 'entry 6 +delete', - 'md5' => 'e1f6bf867f75aa019063782554407d02', - 'line' => 6 - } -]; +my $list_should_be; +ok( $list_should_be = $api->GET('todo_file'), 'Get todo_file' ); -foreach my $e ( @{$list_should_be} ) { - my $entry; - ok( $entry = $api->get_entry( $api->_todo, $e->{line} ), - "by line get_entry($e->{line})" - ); - is_deeply( $entry, $e, 'got correct entry' ); +my @types = ( 'line', 'md5' ); - $entry = undef; - ok( $entry = $api->get_entry( $api->_todo, $e->{md5} ), - "by md5 get_entry($e->{md5})" - ); - is_deeply( $entry, $e, 'got correct entry' ); +foreach my $e ( @{ $list_should_be->data } ) { + foreach my $type (@types) { + my $entry; + ok( $entry = $action->get_entry( $api->_todo, $e->{$type} ), + "by $type get_entry($e->{$type})" ); + is_deeply( $entry, $e, "Entry Matches" ); - my $response; - ok( $response = $api->GET( '/todo_file/entry/' . $e->{line} ), - "by line GET($e->{line})" - ); - $entry = undef; - ok( $entry = $response->data, 'Get data from response' ); - is_deeply( $entry, $e, 'got correct entry' ); + my $response; + ok( $response = $api->GET( '/todo_file/' . $e->{$type} ), + "by $type GET($e->{$type})" ); + $entry = undef; + ok( $entry = $response->data, 'Get data from response' ); + is_deeply( $entry, $e, "Entry Matches" ); - $response = undef; - ok( $response = $api->GET( '/todo_file/entry/' . $e->{md5} ), - "by md5 GET($e->{md5})" - ); - $entry = undef; - ok( $entry = $response->data, 'Get data from response' ); - is_deeply( $entry, $e, 'got correct entry' ); - -# $entry = undef; -# ok( $entry = $api->GET( '/todo_file/entry/' . $e->{line} . '/done' ), -# "by line GET($e->{line}/done)" -# ); -# is_deeply( $entry, $e, 'got correct entry' ); - -# $entry = undef; -# ok( $entry = $api->GET( '/todo_file/entry/' . $e->{md5} . '/done' ), -# "by md5 GET($e->{md5}/done)" -# ); -# is_deeply( $entry, $e, 'got correct entry' ); + $response = undef; + ok( $response + = $api->GET( '/todo_file/' . $e->{$type} . '/done' ), + "by $type GET($e->{$type}/done)" + ); + my ($should_be) = $e->{text} =~ /^(x)/xms; + is( $response->data, $should_be, 'Check done status' ); + } } +