api_fixtures 0.1.0 → 0.1.1

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.
data/lib/api_fixtures.rb CHANGED
@@ -1,10 +1,9 @@
1
+ require 'api_fixtures/version'
1
2
  require 'api_fixtures/fixtures'
2
3
  require 'api_fixtures/middleware'
3
4
  require 'api_fixtures/dsl'
4
5
 
5
6
  module ApiFixtures
6
- VERSION = '0.1.0'
7
-
8
7
  def self.folder=(folder)
9
8
  Fixtures.folder = folder
10
9
  end
@@ -1,4 +1,5 @@
1
1
  require 'api_fixtures/fixtures'
2
+ require 'active_support/core_ext/class/attribute'
2
3
 
3
4
  module ApiFixtures
4
5
  module DSL
@@ -1,4 +1,5 @@
1
1
  require 'pathname'
2
+ require 'active_support/json'
2
3
 
3
4
  module ApiFixtures
4
5
  class Fixtures
@@ -0,0 +1,3 @@
1
+ module ApiFixtures
2
+ VERSION = '0.1.1'
3
+ end
@@ -0,0 +1,4 @@
1
+ {
2
+ "id": 1,
3
+ "name": "My Account"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "id": 1,
3
+ "name": "Mick Staugaard"
4
+ }
@@ -0,0 +1,61 @@
1
+ require 'test_helper'
2
+
3
+ require 'minitest/autorun'
4
+
5
+ class MiniTestSpecTest < MiniTest::Spec
6
+ extend ApiFixtures::DSL
7
+
8
+ describe 'instance level integration' do
9
+ it 'should give access to the api' do
10
+ api.must_equal ApiFixtures::Fixtures
11
+ end
12
+
13
+ it 'should clear the fixtures before running tests' do
14
+ api.fixture('GET', '/foo', {})
15
+
16
+ ApiFixtures::Fixtures::FIXTURES[:get].wont_be_empty
17
+
18
+ run_setup_hooks
19
+
20
+ ApiFixtures::Fixtures::FIXTURES[:get].must_be_empty
21
+ end
22
+
23
+ describe 'expectations' do
24
+ before do
25
+ @flunk_calls = 0
26
+ end
27
+
28
+ def flunk(message)
29
+ @flunk_calls += 1
30
+ end
31
+
32
+ it 'should check that api expectations are met' do
33
+ @flunk_calls.must_equal 0
34
+
35
+ api.expect('GET', '/foo')
36
+
37
+ run_teardown_hooks
38
+
39
+ @flunk_calls.must_equal 1
40
+ end
41
+ end
42
+
43
+ end
44
+
45
+ describe 'class level integration' do
46
+ api_fixtures '/user'
47
+
48
+ it 'should give access to the api_fixtures method' do
49
+ ApiFixtures::Fixtures::FIXTURES[:get].keys.must_equal ['/user']
50
+ end
51
+
52
+ describe 'in nested blocks' do
53
+ api_fixtures '/account'
54
+
55
+ it 'should inherit the fixtures from the parent block' do
56
+ ApiFixtures::Fixtures::FIXTURES[:get].keys.sort.must_equal ['/account', '/user']
57
+ end
58
+ end
59
+ end
60
+
61
+ end
@@ -0,0 +1,3 @@
1
+ require 'api_fixtures'
2
+
3
+ ApiFixtures.folder = File.expand_path('api_fixtures', File.dirname(__FILE__))
metadata CHANGED
@@ -1,108 +1,104 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: api_fixtures
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 0
10
- version: 0.1.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Mick Staugaard
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-11-09 00:00:00 -08:00
12
+ date: 2011-12-01 00:00:00.000000000 -08:00
19
13
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ requirement: &70210723943360 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: *70210723943360
26
+ - !ruby/object:Gem::Dependency
22
27
  name: bundler
28
+ requirement: &70210723942880 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
23
35
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
36
+ version_requirements: *70210723942880
37
+ - !ruby/object:Gem::Dependency
38
+ name: minitest
39
+ requirement: &70210723942460 !ruby/object:Gem::Requirement
25
40
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
33
45
  type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: activesupport
37
46
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
47
+ version_requirements: *70210723942460
48
+ - !ruby/object:Gem::Dependency
49
+ name: activesupport
50
+ requirement: &70210723941940 !ruby/object:Gem::Requirement
39
51
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 17
44
- segments:
45
- - 2
46
- - 3
47
- - 9
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
48
55
  version: 2.3.9
49
- - - <
50
- - !ruby/object:Gem::Version
51
- hash: 1
52
- segments:
53
- - 3
54
- - 1
55
- - 1
56
- version: 3.1.1
57
56
  type: :runtime
58
- version_requirements: *id002
57
+ prerelease: false
58
+ version_requirements: *70210723941940
59
59
  description:
60
- email:
60
+ email:
61
61
  - mick@staugaard.com
62
62
  executables: []
63
-
64
63
  extensions: []
65
-
66
64
  extra_rdoc_files: []
67
-
68
- files:
65
+ files:
69
66
  - lib/api_fixtures/dsl.rb
70
67
  - lib/api_fixtures/fixtures.rb
71
68
  - lib/api_fixtures/middleware.rb
69
+ - lib/api_fixtures/version.rb
72
70
  - lib/api_fixtures.rb
71
+ - test/api_fixtures/account.json
72
+ - test/api_fixtures/user.json
73
+ - test/mini_test_spec_test.rb
74
+ - test/test_helper.rb
73
75
  has_rdoc: true
74
- homepage: ""
76
+ homepage: ''
75
77
  licenses: []
76
-
77
78
  post_install_message:
78
79
  rdoc_options: []
79
-
80
- require_paths:
80
+ require_paths:
81
81
  - lib
82
- required_ruby_version: !ruby/object:Gem::Requirement
82
+ required_ruby_version: !ruby/object:Gem::Requirement
83
83
  none: false
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
- version: "0"
91
- required_rubygems_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
89
  none: false
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- hash: 3
97
- segments:
98
- - 0
99
- version: "0"
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
100
94
  requirements: []
101
-
102
95
  rubyforge_project:
103
96
  rubygems_version: 1.6.2
104
97
  signing_key:
105
98
  specification_version: 3
106
99
  summary: An easy way to setup JSON API fixtures for your integration tests
107
- test_files: []
108
-
100
+ test_files:
101
+ - test/api_fixtures/account.json
102
+ - test/api_fixtures/user.json
103
+ - test/mini_test_spec_test.rb
104
+ - test/test_helper.rb