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;
9 diag("test geocoding");
11 my $U = 'OpenILS::Application::AppUtils';
12 my $script = OpenILS::Utils::TestUtils->new();
15 my $geo_session = $script->session('open-ils.geo');
17 my $request = $geo_session->request(
18 'open-ils.geo.retrieve_coordinates',
22 my $result = $request->recv();
23 my $content = $result->content();
24 is($content->{textcode},'GEOCODING_NOT_ENABLED','received expected GEOCODING_NOT_ENABLED');
26 my $e = new_editor(xact => 1);
29 my $flag = $e->retrieve_config_global_flag('opac.use_geolocation');
31 my $stat = $e->update_config_global_flag($flag);
32 ok($stat, 'opac.use_geolocation enabled');
35 $request = $geo_session->request(
36 'open-ils.geo.retrieve_coordinates',
40 $result = $request->recv();
41 $content = $result->content();
42 is($content->{textcode},'GEOCODING_NOT_ALLOWED','received expected GEOCODING_NOT_ALLOWED');
45 my $cgs = Fieldmapper::config::geolocation_service->new;
49 $cgs->service_code('OSM');
50 $stat = $e->create_config_geolocation_service($cgs);
51 ok($stat, 'Geolocation service created successfully');
54 $script->authenticate({
56 password => 'demo123',
59 my $authtoken = $script->authtoken;
60 ok($authtoken, 'Have an authtoken');
62 my $setting_value = $U->simplereq(
64 'open-ils.actor.org_unit.settings.update',
67 {'opac.geographic_location_service_for_address', 1}
71 'opac.geographic_location_service_for_address set for BR1'
74 $request = $geo_session->request(
75 'open-ils.geo.retrieve_coordinates',
79 $result = $request->recv();
80 $content = $result->content();
82 diag(Dumper($content));
85 'Result contains latitude'
89 'Result contains longitude'