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