email_test_helpers 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41d7a056dfbf8f16212ce23a29cfa6d4f576b4ed
4
- data.tar.gz: 12ab31396a2608a86391938cdfdc047d8e7f63cc
3
+ metadata.gz: 74af69da7d492de35965cda12d5b7db2a4ebd8fe
4
+ data.tar.gz: a50860e56e192ff70dc8b03953a73708a97eaacf
5
5
  SHA512:
6
- metadata.gz: 4bd54f712b97d8325ad74ac6558b25d825f24352e42053467b69f07657f76f8c683ef5259a21ce73b4f3fb7870235fdc47884a7726ebc07f35b8e0a9348f1a84
7
- data.tar.gz: c91300738447594e6106942429296ab001525bae2c962803518ea463fb46512cdf9f5bc70d12997a7ac964bdee8128442d82efd89d2d7516d1687e83f1403da6
6
+ metadata.gz: 0dbfa06100d678b9c2544b12998cc1f5320171b18900d3d7732e1497022b9449c8e95d4f0fe766592d7ac52176f0289e3e4d55fa214e2e530118124ac9f44327
7
+ data.tar.gz: 317bb442743a123af0b828b8565152d1a6b58b0c6a471742576c1562a240c47c32b12e9e9396411381d67921e751701fc4d66f10ea8be58359d7ac8b16e56efe
data/Rakefile CHANGED
@@ -2,9 +2,10 @@ require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'bundler/gem_tasks'
4
4
 
5
- begin
6
- require 'rspec/core/rake_task'
7
- RSpec::Core::RakeTask.new(:spec)
8
- task default: :spec
9
- rescue LoadError
10
- end
5
+ require 'rspec/core/rake_task'
6
+ require 'cucumber/rake/task'
7
+
8
+ RSpec::Core::RakeTask.new(:spec)
9
+ Cucumber::Rake::Task.new(:features)
10
+
11
+ task default: [:spec, :features]
@@ -23,6 +23,8 @@ Gem::Specification.new do |spec|
23
23
  spec.add_dependency 'capybara', '>= 1.0.0'
24
24
 
25
25
  spec.add_development_dependency 'appraisal'
26
+ spec.add_development_dependency 'cucumber', '~> 1.3.19'
27
+ spec.add_development_dependency 'pry'
26
28
  spec.add_development_dependency 'rake'
27
29
  spec.add_development_dependency 'rspec-core', '~> 3.2.0'
28
30
  spec.add_development_dependency 'rspec-expectations'
@@ -1,3 +1,3 @@
1
1
  module EmailTestHelpers
2
- VERSION = '0.1.0'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -5,7 +5,7 @@ require 'capybara'
5
5
  module EmailTestHelpers
6
6
  NotFound = Class.new(StandardError)
7
7
 
8
- def click_email_link(key)
8
+ def click_email_link(key = nil)
9
9
  visit find_email_link(key)
10
10
  end
11
11
 
@@ -26,15 +26,27 @@ module EmailTestHelpers
26
26
 
27
27
  def find_email_link(key = nil)
28
28
  if key
29
- e = Capybara.string(last_email_body).first("a[href*='#{key}']") ||
30
- Capybara.string(last_email_body).first("a", text: key) or
31
- raise(NotFound, "Couldn't find link with key: #{key}")
32
- e['href']
29
+ link = Capybara.string(last_email_body).all('a').detect do |element|
30
+ case key
31
+ when Regexp then key === element.text || key === element[:href]
32
+ when String then element.text.downcase.include?(key.downcase) || element[:href].include?(key)
33
+ else raise TypeError, "key must be Regexp or String (was #{key.class.name})"
34
+ end
35
+ end
36
+ if link
37
+ link[:href]
38
+ else
39
+ raise(NotFound, "Couldn't find link with key: #{key}")
40
+ end
33
41
  else
34
42
  Capybara.string(last_email_body).first('a')['href']
35
43
  end
36
44
  end
37
45
 
46
+ def reset_last_email
47
+ @last_email = nil
48
+ end
49
+
38
50
  private
39
51
 
40
52
  def last_email
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_test_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zubin Henner
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-04-06 00:00:00.000000000 Z
11
+ date: 2015-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: cucumber
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.19
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.19
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rake
57
85
  requirement: !ruby/object:Gem::Requirement