]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/perlmods/live_t/32-geosort.t
LP2045292 Color contrast for AngularJS patron bills
[Evergreen.git] / Open-ILS / src / perlmods / live_t / 32-geosort.t
1 #!perl
2 use strict; use warnings;
3 use Test::More tests => 8;
4 use OpenILS::Utils::TestUtils;
5 use OpenILS::Const qw(:const);
6 use OpenILS::Utils::CStoreEditor qw/:funcs/;
7 use OpenILS::Utils::Fieldmapper;
8
9 diag("test geocoding");
10
11 my $U = 'OpenILS::Application::AppUtils';
12 my $script = OpenILS::Utils::TestUtils->new();
13 $script->bootstrap;
14
15 my $geo_session = $script->session('open-ils.geo');
16
17 my $request = $geo_session->request(
18     'open-ils.geo.retrieve_coordinates',
19     4,
20     '30016'
21 );
22 my $result = $request->recv();
23 my $content = $result->content();
24 is($content->{textcode},'GEOCODING_NOT_ENABLED','received expected GEOCODING_NOT_ENABLED');
25
26 my $e = new_editor(xact => 1);
27 $e->init;
28
29 my $flag = $e->retrieve_config_global_flag('opac.use_geolocation');
30 $flag->enabled('t');
31 my $stat = $e->update_config_global_flag($flag);
32 ok($stat, 'opac.use_geolocation enabled');
33 $e->xact_commit;
34
35 $request = $geo_session->request(
36     'open-ils.geo.retrieve_coordinates',
37     4,
38     '30016'
39 );
40 $result = $request->recv();
41 $content = $result->content();
42 is($content->{textcode},'GEOCODING_NOT_ALLOWED','received expected GEOCODING_NOT_ALLOWED');
43
44 $e->xact_begin;
45 my $cgs = Fieldmapper::config::geolocation_service->new;
46 $cgs->active('t');
47 $cgs->owner(1);
48 $cgs->name('OSM');
49 $cgs->service_code('OSM');
50 $stat = $e->create_config_geolocation_service($cgs);
51 ok($stat, 'Geolocation service created successfully');
52 $e->xact_commit;
53
54 $script->authenticate({
55     username => 'admin',
56     password => 'demo123',
57     type => 'staff'});
58
59 my $authtoken = $script->authtoken;
60 ok($authtoken, 'Have an authtoken');
61
62 my $setting_value = $U->simplereq(
63     'open-ils.actor',
64     'open-ils.actor.org_unit.settings.update',
65     $authtoken,
66     4,
67     {'opac.geographic_location_service_for_address', 1}
68 );
69 ok(
70     ! ref $setting_value,
71     'opac.geographic_location_service_for_address set for BR1'
72 );
73
74 $request = $geo_session->request(
75     'open-ils.geo.retrieve_coordinates',
76     4,
77     '30016'
78 );
79 $result = $request->recv();
80 $content = $result->content();
81 use Data::Dumper;
82 diag(Dumper($content));
83 ok(
84     $content->{latitude},
85     'Result contains latitude'
86 );
87 ok(
88     $content->{latitude},
89     'Result contains longitude'
90 );
91 $request->finish();
92