blob: a04ca5c17e55f68dc739d4bf15c8ecbadedf06fc [file] [log] [blame]
use Mojo::Base -strict;
use Mojo::File qw/path/;
use Test::More;
use Test::Mojo;
my $mount_point = '/api/';
$ENV{KALAMAR_API} = $mount_point;
my $t = Test::Mojo->new('Kalamar');
$t->app->defaults('auth_support' => 1);
# Mount fake backend
# Get the fixture path
my $fixtures_path = path(Mojo::File->new(__FILE__)->dirname, 'fixtures');
my $fake_backend = $t->app->plugin(
Mount => {
$mount_point =>
$fixtures_path->child('fake_backend.pl')
}
);
# Configure fake backend
$fake_backend->pattern->defaults->{app}->log($t->app->log);
if (0) {
# Check paging
$t->get_ok('/?q=Baum')
->text_like('h1 span', qr/KorAP: Find .Baum./i)
# ->text_is('pre.query.serial span', 'JSON-LD Serialization for "test"')
->text_like('#total-results', qr/\d+$/)
->text_is('#pagination a[rel=self] span', 1)
->element_exists_not('#ql-field option[value=poliqarp][selected]')
->element_exists_not('#ql-field option[value=cosmas2][selected]')
;
# Check paging
$t->get_ok('/?q=test&p=2&ql=cosmas2')
->text_like('#total-results', qr/\d+$/)
->text_is('#pagination a[rel=self] span', 2)
->element_exists('#ql-field option[value=cosmas2][selected]')
->element_exists_not('#ql-field option[value=poliqarp][selected]')
;
# Check paging
$t->get_ok('/?q=test&p=2&ql=cosmas2')
->text_like('#total-results', qr/\d+$/)
->text_is('#pagination a[rel=self] span', 2)
->element_exists('#ql-field option[value=cosmas2][selected]')
->element_exists_not('#ql-field option[value=poliqarp][selected]')
;
# Check for authorization
# this should just trigger a fixture - it's not serious
$t->get_ok('/?q=test&p=2&ql=cosmas3')
->element_exists_not('#pagination a[rel=self] span')
->element_exists('#search #no-results')
->text_like('.notify-error', qr!No entity found!)
;
# Check for server error
$t->get_ok('/?q=server_fail&ql=poliqarp')
->element_exists('.notify-error')
->text_is('.notify-error', '500: Internal Server Error (remote)')
;
};
# Check for query error
$t->get_ok('/?q=[orth=das&ql=poliqarp')
->element_exists('.notify-error')
->text_is('.notify-error', '302: Parantheses/brackets unbalanced.')
->content_like(qr!KorAP\.koralQuery =!)
->text_is('.no-results:nth-of-type(1)', 'Unable to perform the search.')
;
done_testing;
__END__