prestashop-automation 0.7.7 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,6 +4,11 @@ module PrestaShopAutomation
4
4
  goto_admin_tab 'AdminCarriers'
5
5
  find('#page-header-desc-carrier-new_carrier').click
6
6
 
7
+ #some versions have an additional step
8
+ if has_selector? 'a.btn[href*="controller=AdminCarrierWizard"]'
9
+ click 'a.btn[href*="controller=AdminCarrierWizard"]'
10
+ end
11
+
7
12
  fill_in 'name', :with => options[:name]
8
13
  fill_in 'delay_1', :with => options[:delay] || 'Turtle'
9
14
  fill_in 'grade', :with => options[:grade] if options[:grade]
@@ -51,15 +51,27 @@ module PrestaShopAutomation
51
51
  @logged_in_to_front_office_as = nil
52
52
  end
53
53
 
54
- def goto_admin_tab tab
55
- links = Hash[all('ul.menu a', :visible => false).to_a.keep_if do |a|
54
+ def get_menu
55
+ Hash[all('ul.menu a', :visible => false).to_a.keep_if do |a|
56
56
  a['href'] =~ /\?controller=/
57
57
  end.map do |a|
58
58
  [a['href'][/\?controller=(.+?)\b/, 1], a['href']]
59
59
  end]
60
+ end
61
+
62
+ def goto_admin_tab tab
63
+ links = get_menu
60
64
  expect(links[tab]).not_to eq nil
61
65
  visit links[tab]
62
66
  expect(current_url).to match /\bcontroller=#{tab}\b/
63
67
  end
68
+
69
+ def goto_module_configuration name
70
+ goto_admin_tab 'AdminModules'
71
+ link = first("a[href*='configure='][href*='controller=AdminModules']", :visible => false)['href']
72
+ randomname = link[/\bconfigure=([^&?#]+)/, 1]
73
+ link.gsub! randomname, name
74
+ visit link
75
+ end
64
76
  end
65
77
  end
@@ -64,6 +64,32 @@ module PrestaShopAutomation
64
64
  end
65
65
  end
66
66
 
67
+ def add_module_from_repo repo, branch=nil
68
+ b = branch ? ['-b', branch] : []
69
+ unless system 'git', 'clone', repo, *b, :chdir => File.join(@filesystem_path, 'modules')
70
+ throw "Could not clone '#{repo}' into '#{@filesystem_path}'"
71
+ end
72
+ end
73
+
74
+ def install_module name
75
+ goto_admin_tab 'AdminModules'
76
+ link = first("a[href*='install='][href*='controller=AdminModules']", :visible => false)['href']
77
+ randomname = link[/\binstall=([^&?#]+)/, 1]
78
+ link.gsub! randomname, name
79
+ visit link
80
+ #check that the entry was added to the DB
81
+ expect(client.query("SELECT * FROM #{safe_database_name}.#{@database_prefix}module WHERE name='#{client.escape name}'").count).to be 1
82
+ end
83
+
84
+ def update_all_modules
85
+ goto_admin_tab 'AdminModules'
86
+ if has_selector? '#desc-module-update-all'
87
+ click '#desc-module-update-all'
88
+ goto_admin_tab 'AdminModules'
89
+ expect_to have_selector '#desc-module-check-and-update-all'
90
+ end
91
+ end
92
+
67
93
  def drop_database
68
94
  client.query("DROP DATABASE IF EXISTS #{safe_database_name}")
69
95
  end
@@ -73,5 +73,9 @@ module PrestaShopAutomation
73
73
  throw "Timeout exceeded!"
74
74
  end
75
75
  end
76
+
77
+ def get_cookies_string
78
+ driver.browser.manage.all_cookies.map do |c| "#{c[:name]}=#{c[:value]}" end.join ";"
79
+ end
76
80
  end
77
81
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prestashop-automation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.7
4
+ version: '0.8'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: