Class: MockSearch

Inherits:
Object
  • Object
show all
Defined in:
lib/mock_search.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site, env, cabotage) ⇒ MockSearch

Returns a new instance of MockSearch.



11
12
13
14
15
16
# File 'lib/mock_search.rb', line 11

def initialize(site,env,cabotage)
  @site  = site 
  @host  = generar_host(site,env)
  @cabotage = (cabotage=='true')
  @json = nil
end

Instance Attribute Details

#adtObject (readonly)

Returns the value of attribute adt.



9
10
11
# File 'lib/mock_search.rb', line 9

def adt
  @adt
end

#cabotageObject (readonly)

Returns the value of attribute cabotage.



9
10
11
# File 'lib/mock_search.rb', line 9

def cabotage
  @cabotage
end

#cnnObject (readonly)

Returns the value of attribute cnn.



9
10
11
# File 'lib/mock_search.rb', line 9

def cnn
  @cnn
end

#hostObject (readonly)

Returns the value of attribute host.



9
10
11
# File 'lib/mock_search.rb', line 9

def host
  @host
end

#infObject (readonly)

Returns the value of attribute inf.



9
10
11
# File 'lib/mock_search.rb', line 9

def inf
  @inf
end

#itineraryObject (readonly)

Returns the value of attribute itinerary.



9
10
11
# File 'lib/mock_search.rb', line 9

def itinerary
  @itinerary
end

#jsonObject (readonly)

Returns the value of attribute json.



9
10
11
# File 'lib/mock_search.rb', line 9

def json
  @json
end

Instance Method Details

#digest_md5Object



77
78
79
# File 'lib/mock_search.rb', line 77

def digest_md5()
  return Digest::MD5.hexdigest(self.generate_url_results_search+"despegar")
end

#generar_host(site, env) ⇒ Object

genero el host de la url a la cual nos vamos a conectar, se genera a partir del pais y ambiente enviados como parametros.



19
20
21
22
# File 'lib/mock_search.rb', line 19

def generar_host(site,env)
 	host = YAML.load(File.open("features/data/host.yml"))
 	return host[site][env]
end

#generate_post_alert_urlObject



38
39
40
# File 'lib/mock_search.rb', line 38

def generate_post_alert_url()
  return @host + "/subscriptions-ui/subscriptions/price-alert-by-month/add"
end

#generate_url_checkoutObject



72
73
74
75
# File 'lib/mock_search.rb', line 72

def generate_url_checkout()
  self.get_ticket_date()
  return @host.gsub('http','https') + "/book/flights/checkout/#{@result_hash['search_hash']}/#{@result_hash['search_version']}/#{@result_hash['itinerary_hash']}/"
end

#get_childrensObject



42
43
44
# File 'lib/mock_search.rb', line 42

def get_childrens
  @cnn + @inf
end

#get_results_search_serviceObject



54
55
56
57
58
59
# File 'lib/mock_search.rb', line 54

def get_results_search_service
  unless @json
    @json = HTTParty.get(self.generate_url_results_search_service,:headers => {"referer" => self.generate_url_results_search})
  end  
  return @json
end

#get_ticket_dateObject



61
62
63
64
65
66
67
68
69
70
# File 'lib/mock_search.rb', line 61

def get_ticket_date()
  @result_hash = {}

  json      = self.get_results_search_service
  @itinerary = json['result']['data']['items'][0]
  ticket    = json['result']['data']['metadata']['ticket']

  @result_hash['search_hash']    = ticket['hash']
  @result_hash['search_version'] = ticket['version']
end

#passengersObject



24
25
26
27
28
29
# File 'lib/mock_search.rb', line 24

def passengers()
@adt = [1,2,3][rand(3)]
	@cnn = [0,1,2][rand(@adt)]
	@inf = [0,1,2][rand(@adt-@cnn)]   
	return "#{@adt}/#{@cnn}/#{@inf}"
end

#set_from_city(code) ⇒ Object



46
47
48
# File 'lib/mock_search.rb', line 46

def set_from_city(code)
  @city_from_1 = MockCity.new(@site,code)
end

#set_to_city(code) ⇒ Object



50
51
52
# File 'lib/mock_search.rb', line 50

def set_to_city(code)
  @city_to_1 = MockCity.new(@site,code)
end

#to_city_change(site) ⇒ Object



31
32
33
34
35
36
# File 'lib/mock_search.rb', line 31

def to_city_change(site)
	unless site == @site
		@city_to_1 = MockCity.new(site)
		@path    = @path.gsub(/^...\/...\//,"#{@city_from_1.code}/#{@city_to_1.code}/")
	end	
end