site_prism.vcr 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +12 -0
  5. data/Gemfile +17 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +381 -0
  8. data/Rakefile +1 -0
  9. data/TODO.md +71 -0
  10. data/lib/site_prism.vcr.rb +1 -0
  11. data/lib/site_prism_vcr/applier.rb +54 -0
  12. data/lib/site_prism_vcr/dsl/adjuster.rb +82 -0
  13. data/lib/site_prism_vcr/dsl/initial_adjuster.rb +97 -0
  14. data/lib/site_prism_vcr/element.rb +18 -0
  15. data/lib/site_prism_vcr/fixture.rb +29 -0
  16. data/lib/site_prism_vcr/fixtures/converter.rb +17 -0
  17. data/lib/site_prism_vcr/fixtures/handler.rb +31 -0
  18. data/lib/site_prism_vcr/fixtures/manager.rb +38 -0
  19. data/lib/site_prism_vcr/fixtures/modifiers/home_path.rb +27 -0
  20. data/lib/site_prism_vcr/fixtures/modifiers/path.rb +30 -0
  21. data/lib/site_prism_vcr/fixtures/tmp_keeper.rb +21 -0
  22. data/lib/site_prism_vcr/fixtures.rb +41 -0
  23. data/lib/site_prism_vcr/options.rb +22 -0
  24. data/lib/site_prism_vcr/options_with_path.rb +7 -0
  25. data/lib/site_prism_vcr/patches/element_container.rb +15 -0
  26. data/lib/site_prism_vcr/patches/page.rb +41 -0
  27. data/lib/site_prism_vcr/vcr_helpers.rb +18 -0
  28. data/lib/site_prism_vcr/version.rb +3 -0
  29. data/lib/site_prism_vcr/waiter.rb +23 -0
  30. data/lib/site_prism_vcr.rb +24 -0
  31. data/site_prism.vcr.gemspec +24 -0
  32. data/spec/fixtures/arya_stark.yml +44 -0
  33. data/spec/fixtures/custom/blank.yml +44 -0
  34. data/spec/fixtures/custom/bran_stark.yml +44 -0
  35. data/spec/fixtures/custom/daenerys_targaryen.yml +44 -0
  36. data/spec/fixtures/jon_snow.yml +44 -0
  37. data/spec/fixtures/ned_stark.yml +44 -0
  38. data/spec/fixtures/robb_stark.yml +44 -0
  39. data/spec/integration/http_interactions_on_even/click_spec.rb +75 -0
  40. data/spec/integration/immediate_http_interactions/page_load_on_click_spec.rb +18 -0
  41. data/spec/integration/immediate_http_interactions/page_load_spec.rb +56 -0
  42. data/spec/spec_helper.rb +18 -0
  43. data/spec/spec_integration_helper.rb +27 -0
  44. data/spec/support/shared/integration/custom_fixtures.rb +32 -0
  45. data/spec/support/shared/integration/exchange.rb +42 -0
  46. data/spec/support/shared/integration/home_path.rb +49 -0
  47. data/spec/support/shared/integration/waiter.rb +75 -0
  48. data/spec/support/site_prism/pages/base.rb +18 -0
  49. data/spec/support/site_prism/pages/home.rb +44 -0
  50. data/spec/support/site_prism/pages/immediate_http_interactions/home_path.rb +15 -0
  51. data/spec/support/site_prism/pages/immediate_http_interactions/one_request.rb +13 -0
  52. data/spec/support/site_prism/pages/immediate_http_interactions/subpage.rb +7 -0
  53. data/spec/support/site_prism/pages/immediate_http_interactions/two_requests.rb +12 -0
  54. data/spec/support/site_prism/pages/immediate_http_interactions/waiter_without_fixtures_ejection.rb +12 -0
  55. data/spec/support/site_prism/sections/console_block.rb +8 -0
  56. data/spec/support/test_app/public/jquery.min.js +5 -0
  57. data/spec/support/test_app/public/test.js +44 -0
  58. data/spec/support/test_app/test_app.rb +46 -0
  59. data/spec/support/test_app/views/index.erb +26 -0
  60. data/spec/unit/applier_spec.rb +134 -0
  61. data/spec/unit/dsl/adjuster_spec.rb +141 -0
  62. data/spec/unit/dsl/initial_adjuster_spec.rb +166 -0
  63. data/spec/unit/element_container_spec.rb +48 -0
  64. data/spec/unit/element_spec.rb +47 -0
  65. data/spec/unit/fixture_spec.rb +45 -0
  66. data/spec/unit/fixtures/converter_spec.rb +36 -0
  67. data/spec/unit/fixtures/handler_spec.rb +72 -0
  68. data/spec/unit/fixtures/manager_spec.rb +58 -0
  69. data/spec/unit/fixtures/modifiers/home_path_spec.rb +47 -0
  70. data/spec/unit/fixtures/modifiers/path_spec.rb +45 -0
  71. data/spec/unit/fixtures/tmp_keeper_spec.rb +17 -0
  72. data/spec/unit/fixtures_spec.rb +76 -0
  73. data/spec/unit/options_spec.rb +41 -0
  74. data/spec/unit/patches/element_container_spec.rb +48 -0
  75. data/spec/unit/patches/page_spec.rb +57 -0
  76. data/spec/unit/vcr_helpers_spec.rb +18 -0
  77. data/spec/unit/waiter_spec.rb +67 -0
  78. metadata +213 -0
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Fixtures::Modifiers::Path do
4
+ describe '#modify' do
5
+ let(:path) { 'some path' }
6
+ let(:options) { double(path: path) }
7
+ let(:fixture) { double(:has_link_to_home_path? => false) }
8
+
9
+ subject { described_class.new(options).modify(fixture) }
10
+
11
+ context 'when the path does not end with slash symbol' do
12
+ it 'adds a given path to the fixture with additional slash symbol' do
13
+ expect(fixture).to receive(:add_path).with(path + '/')
14
+
15
+ subject
16
+ end
17
+ end
18
+
19
+ context 'when the path ends with slash symbol' do
20
+ let(:path) { 'some path/' }
21
+
22
+ it 'adds a given path to the fixture without additional slash symbol' do
23
+ expect(fixture).to receive(:add_path).with(path)
24
+
25
+ subject
26
+ end
27
+ end
28
+
29
+ context 'when the fixture has a link to the home path' do
30
+ let(:fixture) { double(:has_link_to_home_path? => true, clean_name: 'Max') }
31
+
32
+ it 'raises an error about link to the home path' do
33
+ expect{
34
+ subject
35
+ }.to raise_error(
36
+ SPV::Fixtures::Modifiers::Path::HomePathError,
37
+ "You cannot use the home path while listing fixtures in the 'path' method. " <<
38
+ "Please, use 'fixtures' method for 'Max' fixture or " <<
39
+ "you can additionally use the 'path' method where you will specify a home path as a path name." <<
40
+ "Example: path('~/', ['Max'])"
41
+ )
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Fixtures::TmpKeeper do
4
+ let(:options) { double }
5
+ let(:tmp_keeper) { described_class.new(options) }
6
+
7
+ describe '#add_fixtures' do
8
+ subject { described_class.new(options) }
9
+
10
+ it 'adds new fixtures to the container' do
11
+ subject.add_fixtures(['fixture1'])
12
+ subject.add_fixtures(['fixture2'])
13
+
14
+ expect(subject.fixtures).to include('fixture1', 'fixture2')
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Fixtures do
4
+ let(:fixture1) { double(name: 'fixture1') }
5
+ let(:fixture2) { double(name: 'fixture2') }
6
+ let(:fixture3) { double(name: 'fixture3') }
7
+ let(:fixture4) { double(name: 'fixture4') }
8
+ let(:fixture5) { double(name: 'fixture5') }
9
+
10
+ subject(:fixtures) { described_class.new([fixture1, fixture2, fixture3]) }
11
+
12
+ describe '#exchange' do
13
+ def exchange
14
+ fixtures.exchange([fixture1, fixture3], [fixture4, fixture5])
15
+ end
16
+
17
+ it 'removes "fixture1" and "fixture3" elements' do
18
+ new_fixtures = exchange
19
+
20
+ expect(new_fixtures).to_not include(fixture1, fixture3)
21
+ end
22
+
23
+ it 'adds "fixture4, fixture5" elements' do
24
+ new_fixtures = exchange
25
+
26
+ expect(new_fixtures).to include(fixture4, fixture5)
27
+ end
28
+
29
+ it 'does not touch the original object' do
30
+ exchange
31
+
32
+ expect(fixtures).to include(fixture1, fixture2, fixture3)
33
+ end
34
+ end
35
+
36
+ describe '#replace' do
37
+ context 'when fixtures are passed' do
38
+ it 'does not change the original object' do
39
+ fixtures.replace([fixture4, fixture5])
40
+
41
+ expect(fixtures).to include(fixture1, fixture2, fixture3)
42
+ expect(fixtures).to_not include(fixture4, fixture5)
43
+ end
44
+
45
+ it 'returns a new container with fixtures' do
46
+ new_fixtures = fixtures.replace([fixture4, fixture5])
47
+
48
+ expect(new_fixtures).to include(fixture4, fixture5)
49
+ expect(new_fixtures).to_not include(fixture1, fixture2, fixture3)
50
+ end
51
+ end
52
+
53
+ context 'when no fixtures are passed' do
54
+ it 'returns itself' do
55
+ new_fixtures = fixtures.replace([])
56
+
57
+ expect(new_fixtures).to eq(fixtures)
58
+ end
59
+ end
60
+ end
61
+
62
+ describe '#union' do
63
+ it 'does not change the original object' do
64
+ fixtures.union([fixture4, fixture5])
65
+
66
+ expect(fixtures).to include(fixture1, fixture2, fixture3)
67
+ expect(fixtures).to_not include(fixture4, fixture5)
68
+ end
69
+
70
+ it 'returns a new container with fixtures' do
71
+ new_fixtures = fixtures.union([fixture4, fixture5])
72
+
73
+ expect(new_fixtures).to include(fixture1, fixture2, fixture3, fixture4, fixture5)
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Options do
4
+ let(:options) { described_class.new }
5
+
6
+ describe '.new' do
7
+ it 'holds the passed options' do
8
+ waiter = 'some'
9
+
10
+ options = described_class.new(
11
+ waiter: waiter
12
+ )
13
+
14
+ expect(options.waiter).to eq(waiter)
15
+ end
16
+ end
17
+
18
+ describe '#home_path=' do
19
+ context 'when the last symbol is a slash' do
20
+ it 'returns the home path as it is' do
21
+ options.home_path = 'some/path/'
22
+ expect(options.home_path).to eq('some/path/')
23
+ end
24
+ end
25
+
26
+ context 'when the last symbol is not slash' do
27
+ it 'returns the home path with a slash at the end of the path' do
28
+ options.home_path = 'some/path'
29
+ expect(options.home_path).to eq('some/path/')
30
+ end
31
+ end
32
+ end
33
+
34
+ describe '#clone_options' do
35
+ it 'returns a new instance of options' do
36
+ cloned_options = options.clone_options
37
+
38
+ expect(cloned_options.object_id).to_not eq(options.object_id)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ class TestPageWithElement
4
+ extend SitePrism::ElementContainer
5
+
6
+ class << self
7
+ def element(*); end
8
+ end
9
+
10
+ def el_with_options
11
+ 'original element with options'
12
+ end
13
+
14
+ def test_el; end
15
+
16
+ element_with_vcr(:el_with_options, '#selector', fixtures: 'some fixtures') {}
17
+ end
18
+
19
+ describe SitePrism::ElementContainer do
20
+ describe '.element_with_vcr' do
21
+ it 'calls the original element method with given arguments' do
22
+ expect(TestPageWithElement).to receive(:element).with(
23
+ :test_el,
24
+ '#test_selector',
25
+ visible: false
26
+ )
27
+
28
+ TestPageWithElement.instance_eval do
29
+ element_with_vcr :test_el, '#test_selector', visible: false
30
+ end
31
+ end
32
+
33
+ context 'when a method for getting an element is called' do
34
+ let(:page) { TestPageWithElement.new }
35
+ let(:vcr_el) { 'vcr element' }
36
+
37
+ subject { page.el_with_options }
38
+
39
+ it 'initializes a new instance of an element with empty options' do
40
+ expect(SPV::Element).to receive(:new).with(
41
+ 'original element with options', page
42
+ ).and_return(vcr_el)
43
+
44
+ expect(subject).to eq(vcr_el)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe SitePrism::Page do
4
+ subject { SitePrism::Page.new }
5
+
6
+ describe '#apply_vcr' do
7
+ let(:applier) { double(apply: true) }
8
+ let(:action_block) { double(call: true) }
9
+
10
+ before do
11
+ SitePrism::Page.vcr_options_for_load { }
12
+
13
+ SPV::Applier.stub(:new).and_return(applier)
14
+ end
15
+
16
+ it 'initializes the fixtures applier' do
17
+ expect(SPV::Applier).to receive(:new).with(
18
+ subject
19
+ ).and_return(applier)
20
+
21
+ subject.apply_vcr(action_block)
22
+ end
23
+
24
+ it 'applies fixtures' do
25
+ expect(applier).to receive(:apply).with(
26
+ kind_of(Proc)
27
+ )
28
+
29
+ subject.apply_vcr(action_block) { }
30
+ end
31
+
32
+ it 'does the action from the action block' do
33
+ applier.stub(:apply).and_yield
34
+
35
+ expect(action_block).to receive(:call)
36
+
37
+ subject.apply_vcr('arg1', 'arg2', action_block) { }
38
+ end
39
+ end
40
+
41
+ describe '#load_and_apply_vcr' do
42
+ before do
43
+ subject.stub(:apply_vcr)
44
+ subject.stub(:load)
45
+ end
46
+
47
+ it 'applies vcr fixtures and loads the page' do
48
+ expect(subject).to receive(:apply_vcr) do |action_block|
49
+ expect(subject).to receive(:load).with('arg1', 'arg2')
50
+
51
+ action_block.call
52
+ end
53
+
54
+ subject.load_and_apply_vcr('arg1', 'arg2') { }
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Helpers do
4
+ describe '.eject_all_cassettes' do
5
+ subject { described_class.eject_all_cassettes }
6
+
7
+ before do
8
+ VCR.insert_cassette 'arya_stark'
9
+ VCR.insert_cassette 'jon_snow'
10
+ end
11
+
12
+ it 'ejects all fixtures from VCR' do
13
+ subject
14
+
15
+ expect(VCR.eject_cassette).to be_nil
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Waiter do
4
+ let(:node) { double }
5
+ let(:options) { double(waiter_options: nil, waiter: nil) }
6
+ let(:fixtures_manager) { double(eject: true) }
7
+
8
+ subject(:waiter) { described_class.new(node, fixtures_manager, options) }
9
+
10
+ describe '#wait' do
11
+ context 'when a waiter is defined' do
12
+ let(:node) { double(wait_for_content: true) }
13
+
14
+ before do
15
+ options.stub(:waiter).and_return(proc { self.wait_for_content })
16
+ end
17
+
18
+ it 'calls the waiter to wait until all HTTP interactions are finished' do
19
+ expect(node).to receive(:wait_for_content)
20
+
21
+ waiter.wait
22
+ end
23
+
24
+ context 'when the option disallowing fixtures ejection is not passed' do
25
+ it 'ejects fixtures' do
26
+ expect(fixtures_manager).to receive(:eject)
27
+
28
+ waiter.wait
29
+ end
30
+ end
31
+
32
+ context 'when the option disallowing fixtures ejection is passed' do
33
+ before do
34
+ options.stub(:waiter_options).and_return(eject_cassettes: false)
35
+ end
36
+
37
+ it 'does not eject fixtures' do
38
+ expect(fixtures_manager).to_not receive(:eject)
39
+
40
+ waiter.wait
41
+ end
42
+ end
43
+ end
44
+
45
+ context 'when a waiter is not defined' do
46
+ it 'the fixtures handler does not eject fixtures' do
47
+ expect(fixtures_manager).to_not receive(:eject)
48
+
49
+ waiter.wait
50
+ end
51
+ end
52
+ end
53
+
54
+ describe '#with_new_options' do
55
+ let(:new_options) { 'some new options' }
56
+
57
+ it 'initializes a new instance of the waiter' do
58
+ subject
59
+
60
+ expect(described_class).to receive(:new).with(
61
+ node, fixtures_manager, new_options
62
+ )
63
+
64
+ waiter.with_new_options(new_options)
65
+ end
66
+ end
67
+ end
metadata ADDED
@@ -0,0 +1,213 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: site_prism.vcr
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Dmitriy Nesteryuk
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: site_prism
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '2.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: vcr
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 2.6.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 2.6.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: webmock
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: This gem integrates VCR library into SitePrism
56
+ email:
57
+ - nesterukd@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - .gitignore
63
+ - .rspec
64
+ - .travis.yml
65
+ - Gemfile
66
+ - LICENSE.txt
67
+ - README.md
68
+ - Rakefile
69
+ - TODO.md
70
+ - lib/site_prism.vcr.rb
71
+ - lib/site_prism_vcr.rb
72
+ - lib/site_prism_vcr/applier.rb
73
+ - lib/site_prism_vcr/dsl/adjuster.rb
74
+ - lib/site_prism_vcr/dsl/initial_adjuster.rb
75
+ - lib/site_prism_vcr/element.rb
76
+ - lib/site_prism_vcr/fixture.rb
77
+ - lib/site_prism_vcr/fixtures.rb
78
+ - lib/site_prism_vcr/fixtures/converter.rb
79
+ - lib/site_prism_vcr/fixtures/handler.rb
80
+ - lib/site_prism_vcr/fixtures/manager.rb
81
+ - lib/site_prism_vcr/fixtures/modifiers/home_path.rb
82
+ - lib/site_prism_vcr/fixtures/modifiers/path.rb
83
+ - lib/site_prism_vcr/fixtures/tmp_keeper.rb
84
+ - lib/site_prism_vcr/options.rb
85
+ - lib/site_prism_vcr/options_with_path.rb
86
+ - lib/site_prism_vcr/patches/element_container.rb
87
+ - lib/site_prism_vcr/patches/page.rb
88
+ - lib/site_prism_vcr/vcr_helpers.rb
89
+ - lib/site_prism_vcr/version.rb
90
+ - lib/site_prism_vcr/waiter.rb
91
+ - site_prism.vcr.gemspec
92
+ - spec/fixtures/arya_stark.yml
93
+ - spec/fixtures/custom/blank.yml
94
+ - spec/fixtures/custom/bran_stark.yml
95
+ - spec/fixtures/custom/daenerys_targaryen.yml
96
+ - spec/fixtures/jon_snow.yml
97
+ - spec/fixtures/ned_stark.yml
98
+ - spec/fixtures/robb_stark.yml
99
+ - spec/integration/http_interactions_on_even/click_spec.rb
100
+ - spec/integration/immediate_http_interactions/page_load_on_click_spec.rb
101
+ - spec/integration/immediate_http_interactions/page_load_spec.rb
102
+ - spec/spec_helper.rb
103
+ - spec/spec_integration_helper.rb
104
+ - spec/support/shared/integration/custom_fixtures.rb
105
+ - spec/support/shared/integration/exchange.rb
106
+ - spec/support/shared/integration/home_path.rb
107
+ - spec/support/shared/integration/waiter.rb
108
+ - spec/support/site_prism/pages/base.rb
109
+ - spec/support/site_prism/pages/home.rb
110
+ - spec/support/site_prism/pages/immediate_http_interactions/home_path.rb
111
+ - spec/support/site_prism/pages/immediate_http_interactions/one_request.rb
112
+ - spec/support/site_prism/pages/immediate_http_interactions/subpage.rb
113
+ - spec/support/site_prism/pages/immediate_http_interactions/two_requests.rb
114
+ - spec/support/site_prism/pages/immediate_http_interactions/waiter_without_fixtures_ejection.rb
115
+ - spec/support/site_prism/sections/console_block.rb
116
+ - spec/support/test_app/public/jquery.min.js
117
+ - spec/support/test_app/public/test.js
118
+ - spec/support/test_app/test_app.rb
119
+ - spec/support/test_app/views/index.erb
120
+ - spec/unit/applier_spec.rb
121
+ - spec/unit/dsl/adjuster_spec.rb
122
+ - spec/unit/dsl/initial_adjuster_spec.rb
123
+ - spec/unit/element_container_spec.rb
124
+ - spec/unit/element_spec.rb
125
+ - spec/unit/fixture_spec.rb
126
+ - spec/unit/fixtures/converter_spec.rb
127
+ - spec/unit/fixtures/handler_spec.rb
128
+ - spec/unit/fixtures/manager_spec.rb
129
+ - spec/unit/fixtures/modifiers/home_path_spec.rb
130
+ - spec/unit/fixtures/modifiers/path_spec.rb
131
+ - spec/unit/fixtures/tmp_keeper_spec.rb
132
+ - spec/unit/fixtures_spec.rb
133
+ - spec/unit/options_spec.rb
134
+ - spec/unit/patches/element_container_spec.rb
135
+ - spec/unit/patches/page_spec.rb
136
+ - spec/unit/vcr_helpers_spec.rb
137
+ - spec/unit/waiter_spec.rb
138
+ homepage: https://github.com/nestd/site_prism.vcr
139
+ licenses:
140
+ - MIT
141
+ metadata: {}
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ! '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ requirements: []
157
+ rubyforge_project:
158
+ rubygems_version: 2.1.9
159
+ signing_key:
160
+ specification_version: 4
161
+ summary: VCR and SitePrism are awesome libraries. But, it is a bit difficult to work
162
+ with them without some bridge between them. This gem combines these 2 libraries
163
+ to provide a better way for stubbing external API request which your application
164
+ is doing. This gem will be very helpful for developers which have an application
165
+ working with an external API.
166
+ test_files:
167
+ - spec/fixtures/arya_stark.yml
168
+ - spec/fixtures/custom/blank.yml
169
+ - spec/fixtures/custom/bran_stark.yml
170
+ - spec/fixtures/custom/daenerys_targaryen.yml
171
+ - spec/fixtures/jon_snow.yml
172
+ - spec/fixtures/ned_stark.yml
173
+ - spec/fixtures/robb_stark.yml
174
+ - spec/integration/http_interactions_on_even/click_spec.rb
175
+ - spec/integration/immediate_http_interactions/page_load_on_click_spec.rb
176
+ - spec/integration/immediate_http_interactions/page_load_spec.rb
177
+ - spec/spec_helper.rb
178
+ - spec/spec_integration_helper.rb
179
+ - spec/support/shared/integration/custom_fixtures.rb
180
+ - spec/support/shared/integration/exchange.rb
181
+ - spec/support/shared/integration/home_path.rb
182
+ - spec/support/shared/integration/waiter.rb
183
+ - spec/support/site_prism/pages/base.rb
184
+ - spec/support/site_prism/pages/home.rb
185
+ - spec/support/site_prism/pages/immediate_http_interactions/home_path.rb
186
+ - spec/support/site_prism/pages/immediate_http_interactions/one_request.rb
187
+ - spec/support/site_prism/pages/immediate_http_interactions/subpage.rb
188
+ - spec/support/site_prism/pages/immediate_http_interactions/two_requests.rb
189
+ - spec/support/site_prism/pages/immediate_http_interactions/waiter_without_fixtures_ejection.rb
190
+ - spec/support/site_prism/sections/console_block.rb
191
+ - spec/support/test_app/public/jquery.min.js
192
+ - spec/support/test_app/public/test.js
193
+ - spec/support/test_app/test_app.rb
194
+ - spec/support/test_app/views/index.erb
195
+ - spec/unit/applier_spec.rb
196
+ - spec/unit/dsl/adjuster_spec.rb
197
+ - spec/unit/dsl/initial_adjuster_spec.rb
198
+ - spec/unit/element_container_spec.rb
199
+ - spec/unit/element_spec.rb
200
+ - spec/unit/fixture_spec.rb
201
+ - spec/unit/fixtures/converter_spec.rb
202
+ - spec/unit/fixtures/handler_spec.rb
203
+ - spec/unit/fixtures/manager_spec.rb
204
+ - spec/unit/fixtures/modifiers/home_path_spec.rb
205
+ - spec/unit/fixtures/modifiers/path_spec.rb
206
+ - spec/unit/fixtures/tmp_keeper_spec.rb
207
+ - spec/unit/fixtures_spec.rb
208
+ - spec/unit/options_spec.rb
209
+ - spec/unit/patches/element_container_spec.rb
210
+ - spec/unit/patches/page_spec.rb
211
+ - spec/unit/vcr_helpers_spec.rb
212
+ - spec/unit/waiter_spec.rb
213
+ has_rdoc: