Module: PrestaShopAutomation::GeneralActions

Included in:
PrestaShop
Defined in:
lib/actions/general.rb

Instance Method Summary collapse

Instance Method Details

#get_menuObject



52
53
54
55
56
57
58
# File 'lib/actions/general.rb', line 52

def get_menu
	Hash[all('ul.menu a', :visible => false).to_a.keep_if do |a|
		a['href'] =~ /\?controller=/
	end.map do |a|
		[a['href'][/\?controller=(.+?)\b/, 1], a['href']]
	end]
end

#goto_admin_tab(tab) ⇒ Object



60
61
62
63
64
65
# File 'lib/actions/general.rb', line 60

def goto_admin_tab tab
	links = get_menu
	expect(links[tab]).not_to eq nil
	visit links[tab]
	expect(current_url).to match /\bcontroller=#{tab}\b/
end

#goto_back_officeObject



16
17
18
# File 'lib/actions/general.rb', line 16

def goto_back_office
	visit @back_office_url
end

#goto_front_officeObject



20
21
22
# File 'lib/actions/general.rb', line 20

def goto_front_office
	visit @front_office_url
end

#goto_module_configuration(name) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/actions/general.rb', line 67

def goto_module_configuration name
	goto_admin_tab 'AdminModules'
	link = first("a[href*='configure='][href*='controller=AdminModules']", :visible => false)['href']
	randomname = link[/\bconfigure=([^&?#]+)/, 1]
	link.gsub! randomname, name
	visit link
end

#login_to_back_officeObject



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/actions/general.rb', line 3

def 
	visit @back_office_url
	fill_in "email", :with => @admin_email
	fill_in "passwd", :with => @admin_password
	click_label_for 'stay_logged_in'
	click_button_named 'submitLogin', :first => true
	expect_to have_selector('#header_logout', :visible => false)
	@logged_in_to_back_office_as = {
		email: @admin_email,
		password: @admin_password
	}
end

#login_to_front_officeObject



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/actions/general.rb', line 32

def 
	visit @front_office_url
	click 'a.login'
	find('#email').set @default_customer_email
	find('#passwd').set @default_customer_password
	click '#SubmitLogin'
	expect_to have_selector('p.info-account')
	@logged_in_to_front_office_as = {
		email: @default_customer_email,
		password: @default_customer_password
	}
end

#logout_of_back_officeObject



24
25
26
27
28
29
30
# File 'lib/actions/general.rb', line 24

def logout_of_back_office
	visit @back_office_url
	click '#employee_infos a'
	click '#header_logout'
	expect_to have_selector('button[name="submitLogin"]')
	@logged_in_to_back_office_as = nil
end

#logout_of_front_officeObject



45
46
47
48
49
50
# File 'lib/actions/general.rb', line 45

def logout_of_front_office
	visit @front_office_url
	click 'a.logout'
	expect_to have_selector 'a.login'
	@logged_in_to_front_office_as = nil
end