/
map_steps.rb
61 lines (51 loc) · 2.03 KB
/
map_steps.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
When /^I centre the map at (-?\d+\.\d+), (-?\d+\.\d+)$/ do | lat, lon |
perform_action('set_map_center', lat, lon)
end
When /^I pan the map to (-?\d+\.\d+), (-?\d+\.\d+)$/ do | lat, lon |
perform_action('pan_map_to', lat, lon)
sleep(1)
end
When /^(?:I )?set the map zoom level to (\d+)$/ do | zoom |
perform_action('set_map_zoom', zoom)
sleep(0.2)
end
When /^(?:I )?zoom (in|out) on the map$/ do | zoom |
perform_action('set_map_zoom', zoom)
sleep(0.2)
end
Then /^the map zoom level should be (\d+)$/ do | zoom |
result = perform_action('get_map_zoom')
raise StandardError.new( "The map's zoom level should be #{zoom} but is #{result['message']}" ) unless zoom.eql?( result['message'] )
end
When /^I tap the map marker "([^\"]*)"$/ do | marker_title |
perform_action('tap_map_marker_by_title', marker_title, 60000)
end
When /^I double tap the map marker "([^\"]*)"$/ do | marker_title |
perform_action('tap_map_marker_by_title', marker_title, 60000)
sleep(0.4)
perform_action('tap_map_marker_by_title', marker_title, 100)
end
When /^I tap away from the markers$/ do
perform_action('tap_map_away_from_markers')
end
Then /^I should see the following markers:$/ do | marker_table |
verify_map_markers( marker_table )
end
Then /^the map should be centred at (-?\d+\.\d+), (-?\d+\.\d+)$/ do | lat, lon |
result = perform_action('get_map_center')
bonus_info = result['bonusInformation']
actual_lat = bonus_info[0].to_f
actual_lon = bonus_info[1].to_f
lat = lat.to_f
lon = lon.to_f
tol = 0.00001
if( (lat - actual_lat).abs > tol || (lon - actual_lon).abs > tol )
raise StandardError.new( "The map should have been centred on: #{lat},#{lon} but was actually centred on #{bonus_info.inspect}" )
end
end
Then /^the map marker "([^\"]*)" should be highlighted$/ do | marker_title |
result = perform_action('get_map_marker', marker_title)
result = result['message']
result = JSON.parse( result )
raise StandardError.new( "The marker '#{marker_title}' was found, but is not highlighted" ) unless result['focused']
end