email_test_helpers 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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