Clean tests up to test both top level and fragment uris in the same code and remove...
[catagits/Gitalist.git] / t / 01app.t
CommitLineData
89de6a33 1#!/usr/bin/env perl
2use strict;
3use warnings;
a38862e5 4use Test::More;
5use FindBin qw/$Bin/;
6dac2638 6use lib "$Bin/lib";
89de6a33 7
a38862e5 8BEGIN {
9 $ENV{GITALIST_CONFIG} = $Bin;
eb7978f3 10 $ENV{GITALIST_REPO_DIR} = '';
1819cb18 11 use_ok 'Catalyst::Test', 'Gitalist';
a38862e5 12}
6dac2638 13use TestGitalist;
28e35997 14
ba2b01c7 15for my $p ('', qw{
16 repo1 nodescription bare.git opml search
17 fragment/collectionofrepositories
18}) {
2a172f65 19 my $path = '/' . $p;
5fd1f586 20 ok( request($path)->is_success, "$path should succeed");
21}
28e35997 22
2a172f65 23my $response = request('/DoesNotExist');
82bc0f05 24is $response->code, 404, 'invalid repository 404s';
25like $response->content, qr/Page not found/, 'invalid repository handled correctly';
1ca37408 26
27# URI tests for repo1
28foreach my $test (map {curry_test_uri($_)} ('fragment/repo1', 'repo1') ) {
29 $test->('');
30 $test->('shortlog');
31 $test->('log');
32 $test->('heads');
33 $test->('tags');
34 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818');
35 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/tree');
36 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/tree/dir1');
37 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/diff');
38 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/diff/plain');
39 #test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/shortlog/dir1');
40 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/history/dir1');
41 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/blame/file1');
42 $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/blob/file1');
ba2b01c7 43}
b4439022 44
f9466a6c 45{
f2338f4f 46 # URI tests for repo1
f9466a6c 47 local *test = curry_test_uri('repo1');
76476bb0 48 test('search');
50df06b8 49 test('reflog');
1ca37408 50
a349e797 51 test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/patch');
52 test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/patches/1');
53 test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/patches/2');
ca06a177 54 test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/raw/file1');
ca06a177 55
50df06b8 56 TODO: {
57 local $TODO = "FIXME";
a349e797 58 test('search', 'type=commit&text=added');
59
a349e797 60 # FIXME - What's the difference here?
61 #test('patch', 'h=3f7567c7bdf7e7ebf410926493b92d398333116e');
62 #test('patch', 'h=3f7567c7bdf7e7ebf410926493b92d398333116e;hp=3bc0634310b9c62222bb0e724c11ffdfb297b4ac');
63 #test('patches', 'h=3f7567c7bdf7e7ebf410926493b92d398333116e');
64 #test('patches', 'h=3f7567c7bdf7e7ebf410926493b92d398333116e;hp=3bc0634310b9c62222bb0e724c11ffdfb297b4ac');
50df06b8 65 }
f9466a6c 66}
e8b87f6b 67
a38862e5 68done_testing;