rails_static_record 0.1.1 → 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.
@@ -1,5 +1 @@
1
1
  require 'rails_helper'
2
-
3
- RSpec.describe Test, type: :model do
4
- pending "add some examples to (or delete) #{__FILE__}"
5
- end
data/spec/spec_helper.rb CHANGED
@@ -47,53 +47,51 @@ RSpec.configure do |config|
47
47
  # triggering implicit auto-inclusion in groups with matching metadata.
48
48
  config.shared_context_metadata_behavior = :apply_to_host_groups
49
49
 
50
- # The settings below are suggested to provide a good initial experience
51
- # with RSpec, but feel free to customize to your heart's content.
52
- =begin
53
- # This allows you to limit a spec run to individual examples or groups
54
- # you care about by tagging them with `:focus` metadata. When nothing
55
- # is tagged with `:focus`, all examples get run. RSpec also provides
56
- # aliases for `it`, `describe`, and `context` that include `:focus`
57
- # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
58
- config.filter_run_when_matching :focus
59
-
60
- # Allows RSpec to persist some state between runs in order to support
61
- # the `--only-failures` and `--next-failure` CLI options. We recommend
62
- # you configure your source control system to ignore this file.
63
- config.example_status_persistence_file_path = "spec/examples.txt"
64
-
65
- # Limits the available syntax to the non-monkey patched syntax that is
66
- # recommended. For more details, see:
67
- # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
68
- # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
69
- # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
70
- config.disable_monkey_patching!
71
-
72
- # Many RSpec users commonly either run the entire suite or an individual
73
- # file, and it's useful to allow more verbose output when running an
74
- # individual spec file.
75
- if config.files_to_run.one?
76
- # Use the documentation formatter for detailed output,
77
- # unless a formatter has already been configured
78
- # (e.g. via a command-line flag).
79
- config.default_formatter = 'doc'
80
- end
81
-
82
- # Print the 10 slowest examples and example groups at the
83
- # end of the spec run, to help surface which specs are running
84
- # particularly slow.
85
- config.profile_examples = 10
86
-
87
- # Run specs in random order to surface order dependencies. If you find an
88
- # order dependency and want to debug it, you can fix the order by providing
89
- # the seed, which is printed after each run.
90
- # --seed 1234
91
- config.order = :random
92
-
93
- # Seed global randomization in this process using the `--seed` CLI option.
94
- # Setting this allows you to use `--seed` to deterministically reproduce
95
- # test failures related to randomization by passing the same `--seed` value
96
- # as the one that triggered the failure.
97
- Kernel.srand config.seed
98
- =end
50
+ # The settings below are suggested to provide a good initial experience
51
+ # with RSpec, but feel free to customize to your heart's content.
52
+ # # This allows you to limit a spec run to individual examples or groups
53
+ # # you care about by tagging them with `:focus` metadata. When nothing
54
+ # # is tagged with `:focus`, all examples get run. RSpec also provides
55
+ # # aliases for `it`, `describe`, and `context` that include `:focus`
56
+ # # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
57
+ # config.filter_run_when_matching :focus
58
+ #
59
+ # # Allows RSpec to persist some state between runs in order to support
60
+ # # the `--only-failures` and `--next-failure` CLI options. We recommend
61
+ # # you configure your source control system to ignore this file.
62
+ # config.example_status_persistence_file_path = "spec/examples.txt"
63
+ #
64
+ # # Limits the available syntax to the non-monkey patched syntax that is
65
+ # # recommended. For more details, see:
66
+ # # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
67
+ # # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
68
+ # # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
69
+ # config.disable_monkey_patching!
70
+ #
71
+ # # Many RSpec users commonly either run the entire suite or an individual
72
+ # # file, and it's useful to allow more verbose output when running an
73
+ # # individual spec file.
74
+ # if config.files_to_run.one?
75
+ # # Use the documentation formatter for detailed output,
76
+ # # unless a formatter has already been configured
77
+ # # (e.g. via a command-line flag).
78
+ # config.default_formatter = 'doc'
79
+ # end
80
+ #
81
+ # # Print the 10 slowest examples and example groups at the
82
+ # # end of the spec run, to help surface which specs are running
83
+ # # particularly slow.
84
+ # config.profile_examples = 10
85
+ #
86
+ # # Run specs in random order to surface order dependencies. If you find an
87
+ # # order dependency and want to debug it, you can fix the order by providing
88
+ # # the seed, which is printed after each run.
89
+ # # --seed 1234
90
+ # config.order = :random
91
+ #
92
+ # # Seed global randomization in this process using the `--seed` CLI option.
93
+ # # Setting this allows you to use `--seed` to deterministically reproduce
94
+ # # test failures related to randomization by passing the same `--seed` value
95
+ # # as the one that triggered the failure.
96
+ # Kernel.srand config.seed
99
97
  end
@@ -1,21 +1,50 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe StaticRecord do
4
- subject(:base) { StaticRecord::Base.new }
5
-
6
4
  describe 'configuration and first instance' do
7
5
  it 'should get the default path for static db' do
8
- expect(StaticRecord::Base.file_path).to eq("db/static")
6
+ expect(StaticRecord::Base.file_path).to match(/\/db\/static$/)
9
7
  end
10
8
 
11
9
  it 'should do set a custom path for static db' do
12
- StaticRecord::Base.file_path = "foo/bar"
10
+ StaticRecord::Base.file_path = File.join(Rails.root, 'db', 'test')
11
+
12
+ expect(StaticRecord::Base.file_path).to match(/\/db\/test$/)
13
+
14
+ # Reset it to default valule for the test.
15
+ StaticRecord::Base.file_path = File.join(Rails.root, 'db', 'static')
16
+ end
17
+
18
+ it 'should initialize category model with 3 attributes' do
19
+ category = Category.new id: 909, title: 'Test Category', uuid: 99.0
20
+
21
+ expect(category.attributes).to include(id: 909,
22
+ title: 'Test Category',
23
+ uuid: 99.0)
24
+ end
25
+ end
26
+
27
+ describe 'class methods for categories test model' do
28
+ it 'should has 26 elements' do
29
+ expect(Category.count).to eq(26)
30
+ end
31
+
32
+ it 'should get 3 categories' do
33
+ categories = Category.find 1, 5, 16
34
+
35
+ expect(categories.count).to eq(3)
36
+ end
37
+
38
+ it 'raise error when find_by arguments are not a hash' do
39
+ expect { Category.find_by(1) }.to raise_error(StaticRecord::InvalidParameterError)
40
+ end
13
41
 
14
- expect(StaticRecord::Base.file_path).to eq('foo/bar')
42
+ it 'should return the first item in the data when is called first method' do
43
+ expect(Category.first.id).to eq(1)
15
44
  end
16
45
 
17
- it 'should load yaml test file' do
18
- expect(StaticRecord::Base.load).to eq('hello')
46
+ it 'should get the second item in the data when is called second method' do
47
+ expect(Category.second.id).to eq(2)
19
48
  end
20
49
  end
21
50
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_static_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateo Olaya Bernal
@@ -130,7 +130,9 @@ files:
130
130
  - spec/dummy/db/migrate/20161016220221_create_tests.rb
131
131
  - spec/dummy/db/schema.rb
132
132
  - spec/dummy/db/static/categories.yml
133
+ - spec/dummy/db/test.sqlite3
133
134
  - spec/dummy/log/development.log
135
+ - spec/dummy/log/test.log
134
136
  - spec/dummy/public/404.html
135
137
  - spec/dummy/public/422.html
136
138
  - spec/dummy/public/500.html
@@ -217,7 +219,9 @@ test_files:
217
219
  - spec/dummy/db/migrate/20161016220221_create_tests.rb
218
220
  - spec/dummy/db/schema.rb
219
221
  - spec/dummy/db/static/categories.yml
222
+ - spec/dummy/db/test.sqlite3
220
223
  - spec/dummy/log/development.log
224
+ - spec/dummy/log/test.log
221
225
  - spec/dummy/public/404.html
222
226
  - spec/dummy/public/422.html
223
227
  - spec/dummy/public/500.html