snf_core 0.2.5 → 0.2.7

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.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +0 -0
  3. data/README.md +0 -0
  4. data/Rakefile +0 -0
  5. data/app/controllers/concerns/common.rb +0 -0
  6. data/app/controllers/concerns/pagination.rb +0 -0
  7. data/app/controllers/snf_core/application_controller.rb +0 -0
  8. data/app/jobs/snf_core/application_job.rb +0 -0
  9. data/app/mailers/snf_core/application_mailer.rb +0 -0
  10. data/app/models/snf_core/address.rb +0 -0
  11. data/app/models/snf_core/application_record.rb +0 -0
  12. data/app/models/snf_core/business.rb +0 -0
  13. data/app/models/snf_core/business_document.rb +4 -1
  14. data/app/models/snf_core/category.rb +0 -0
  15. data/app/models/snf_core/customer_group.rb +0 -0
  16. data/app/models/snf_core/group.rb +0 -0
  17. data/app/models/snf_core/product.rb +0 -0
  18. data/app/models/snf_core/store.rb +0 -0
  19. data/app/models/snf_core/store_inventory.rb +0 -0
  20. data/app/models/snf_core/user.rb +0 -0
  21. data/app/models/snf_core/wallet.rb +0 -0
  22. data/config/routes.rb +0 -0
  23. data/db/migrate/20250226042622_create_snf_core_users.rb +0 -0
  24. data/db/migrate/20250226064444_create_snf_core_categories.rb +0 -0
  25. data/db/migrate/20250226080323_create_snf_core_businesses.rb +0 -0
  26. data/db/migrate/20250226102931_create_snf_core_business_documents.rb +0 -0
  27. data/db/migrate/20250226110217_create_snf_core_addresses.rb +0 -0
  28. data/db/migrate/20250226115215_create_snf_core_stores.rb +0 -0
  29. data/db/migrate/20250226181007_create_snf_core_products.rb +0 -0
  30. data/db/migrate/20250226190000_create_snf_core_store_inventories.rb +0 -0
  31. data/db/migrate/20250226192104_create_snf_core_groups.rb +0 -0
  32. data/db/migrate/20250226193938_create_snf_core_customer_groups.rb +0 -0
  33. data/db/migrate/20250227075048_create_snf_core_wallets.rb +0 -0
  34. data/db/migrate/20250227102833_modify_store_inventories.rb +0 -0
  35. data/lib/snf_core/engine.rb +0 -0
  36. data/lib/snf_core/version.rb +1 -1
  37. data/lib/snf_core.rb +0 -0
  38. data/lib/tasks/snf_core_tasks.rake +0 -0
  39. metadata +3 -110
  40. data/spec/dummy/Rakefile +0 -6
  41. data/spec/dummy/app/assets/stylesheets/application.css +0 -15
  42. data/spec/dummy/app/controllers/application_controller.rb +0 -2
  43. data/spec/dummy/app/jobs/application_job.rb +0 -7
  44. data/spec/dummy/app/mailers/application_mailer.rb +0 -4
  45. data/spec/dummy/app/models/application_record.rb +0 -3
  46. data/spec/dummy/app/views/layouts/mailer.html.erb +0 -13
  47. data/spec/dummy/app/views/layouts/mailer.text.erb +0 -1
  48. data/spec/dummy/bin/dev +0 -2
  49. data/spec/dummy/bin/rails +0 -4
  50. data/spec/dummy/bin/rake +0 -4
  51. data/spec/dummy/bin/setup +0 -34
  52. data/spec/dummy/config/application.rb +0 -43
  53. data/spec/dummy/config/boot.rb +0 -5
  54. data/spec/dummy/config/cable.yml +0 -10
  55. data/spec/dummy/config/database.yml +0 -20
  56. data/spec/dummy/config/environment.rb +0 -5
  57. data/spec/dummy/config/environments/development.rb +0 -67
  58. data/spec/dummy/config/environments/production.rb +0 -86
  59. data/spec/dummy/config/environments/test.rb +0 -53
  60. data/spec/dummy/config/initializers/cors.rb +0 -16
  61. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -8
  62. data/spec/dummy/config/initializers/inflections.rb +0 -16
  63. data/spec/dummy/config/locales/en.yml +0 -31
  64. data/spec/dummy/config/puma.rb +0 -38
  65. data/spec/dummy/config/routes.rb +0 -3
  66. data/spec/dummy/config/storage.yml +0 -38
  67. data/spec/dummy/config.ru +0 -6
  68. data/spec/dummy/db/migrate/20250226123213_create_active_storage_tables.active_storage.rb +0 -57
  69. data/spec/dummy/db/schema.rb +0 -181
  70. data/spec/dummy/log/development.log +0 -901
  71. data/spec/dummy/log/test.log +0 -12199
  72. data/spec/dummy/spec/fixtures/files/sample.pdf +0 -0
  73. data/spec/dummy/tmp/local_secret.txt +0 -1
  74. data/spec/dummy/tmp/storage/13/1y/131yod70wqijazn3ix829yvuuvge +0 -0
  75. data/spec/dummy/tmp/storage/16/na/16na9nc1z98jt6fyn3axj3bhudes +0 -0
  76. data/spec/dummy/tmp/storage/1t/oy/1toyz0i6f9u5xexr4cpwttr04ood +0 -0
  77. data/spec/dummy/tmp/storage/1x/i3/1xi33eqr5ipoaz0upakb8yy7qc4o +0 -0
  78. data/spec/dummy/tmp/storage/24/69/2469t9kpepg4fd8ki960h025li0b +0 -0
  79. data/spec/dummy/tmp/storage/2a/0u/2a0uyihfk1wn5c1fuz09unocwy2m +0 -0
  80. data/spec/dummy/tmp/storage/4t/86/4t862kv9wcz0p7wgdvpmtmczdadt +0 -0
  81. data/spec/dummy/tmp/storage/5s/zb/5szbksq6mg3768g9vtk788gc49gw +0 -0
  82. data/spec/dummy/tmp/storage/6g/dc/6gdc40iivivwbln1zs4dqedt5ni7 +0 -0
  83. data/spec/dummy/tmp/storage/6o/7a/6o7ax3ihg25bswxp4d601mqo7tl3 +0 -0
  84. data/spec/dummy/tmp/storage/6z/86/6z862zpc67sikzl0otbf418t2clj +0 -0
  85. data/spec/dummy/tmp/storage/92/hw/92hw9u9j6728qgwpcn7oqphe9tzj +0 -0
  86. data/spec/dummy/tmp/storage/9a/3q/9a3qd5qc7j6dzzmg16wcpvwoowmp +0 -0
  87. data/spec/dummy/tmp/storage/al/8s/al8szf81ccm4ckpvxh3bv6vlgp0y +0 -0
  88. data/spec/dummy/tmp/storage/b8/8l/b88ln7wuq13v4akgwgc0dgac8887 +0 -0
  89. data/spec/dummy/tmp/storage/bs/y9/bsy9t4961ra8hwlq06wjtgrrcflp +0 -0
  90. data/spec/dummy/tmp/storage/cs/x9/csx9mv26ab1lm82a7itryfq4v6rq +0 -0
  91. data/spec/dummy/tmp/storage/dp/0f/dp0fx9ji1bqvx1najwjgns6n7fhf +0 -0
  92. data/spec/dummy/tmp/storage/em/kc/emkc4tc71k65mfcurv6k8z1ylswl +0 -0
  93. data/spec/dummy/tmp/storage/em/vx/emvx0c15o74mr0nlcvdc7m88j2gi +0 -0
  94. data/spec/dummy/tmp/storage/ga/7e/ga7eiyyv0llme2i4xby0kdp4a4h8 +0 -0
  95. data/spec/dummy/tmp/storage/h4/vg/h4vgoatz21dhjrztrrbg2hdhkwjb +0 -0
  96. data/spec/dummy/tmp/storage/hi/9h/hi9ho77symoy2j0ye28fxgnxw3kt +0 -0
  97. data/spec/dummy/tmp/storage/hl/yy/hlyyu150rt2yos1sa9ed1qw49y26 +0 -0
  98. data/spec/dummy/tmp/storage/j7/6x/j76x0oirv7i4t6p3blseuaknp7pw +0 -0
  99. data/spec/dummy/tmp/storage/jq/95/jq95rqhv5usgucn2d2mmkhjufapu +0 -0
  100. data/spec/dummy/tmp/storage/ky/1y/ky1ys68lmat11bxs2395dqugiyig +0 -0
  101. data/spec/dummy/tmp/storage/ln/0f/ln0fz4opsdycu80q7urfez9ar7kn +0 -0
  102. data/spec/dummy/tmp/storage/mk/4w/mk4w528bsn47ewri0odui9s40f87 +0 -0
  103. data/spec/dummy/tmp/storage/na/6r/na6rrohinrnjofsq27u95up5rp8k +0 -0
  104. data/spec/dummy/tmp/storage/oc/f8/ocf8zs18lm9fnkpqj6wpshdpyf43 +0 -0
  105. data/spec/dummy/tmp/storage/oe/bq/oebq593a6bpwkbxpx6segtwyy0jy +0 -0
  106. data/spec/dummy/tmp/storage/qs/jk/qsjkqiiarr85uobud0qsnnmpraol +0 -0
  107. data/spec/dummy/tmp/storage/qw/7z/qw7zsf91njf7ga6454nrjpvddjn5 +0 -0
  108. data/spec/dummy/tmp/storage/rh/0h/rh0h80b8er9vp1u8dcocy1u58obf +0 -0
  109. data/spec/dummy/tmp/storage/tc/gu/tcgurel05x9fk9ksm4hxwfla3hg3 +0 -0
  110. data/spec/dummy/tmp/storage/tm/ce/tmce54998rdnz191k02fzowpebvw +0 -0
  111. data/spec/dummy/tmp/storage/w2/3f/w23f3igzkn7bddqxry5x4wsu2ths +0 -0
  112. data/spec/dummy/tmp/storage/wo/81/wo813rsnwvoa55h0vq0fr79iajuw +0 -0
  113. data/spec/dummy/tmp/storage/wy/14/wy14megn3o5zqplv9xg6u32uwkr6 +0 -0
  114. data/spec/dummy/tmp/storage/xj/yy/xjyygdd3znvvpt9ufz1vv4lfsx3w +0 -0
  115. data/spec/dummy/tmp/storage/yf/49/yf49a4ydheqf3cqs0u49sanbl4ms +0 -0
  116. data/spec/dummy/tmp/storage/yh/q1/yhq1muao2dpuykmj12bxhd0x4ntk +0 -0
  117. data/spec/dummy/tmp/storage/yx/jp/yxjpumjyo1jysjpg20qaxgsqg4fw +0 -0
  118. data/spec/dummy/tmp/storage/z1/gr/z1grp34d5vw7mi4g8vw8yfu91ny2 +0 -0
  119. data/spec/examples.txt +0 -66
  120. data/spec/factories/snf_core/addresses.rb +0 -10
  121. data/spec/factories/snf_core/business_documents.rb +0 -18
  122. data/spec/factories/snf_core/businesses.rb +0 -10
  123. data/spec/factories/snf_core/categories.rb +0 -7
  124. data/spec/factories/snf_core/customer_groups.rb +0 -9
  125. data/spec/factories/snf_core/groups.rb +0 -6
  126. data/spec/factories/snf_core/products.rb +0 -9
  127. data/spec/factories/snf_core/store_inventories.rb +0 -8
  128. data/spec/factories/snf_core/stores.rb +0 -9
  129. data/spec/factories/snf_core/users.rb +0 -10
  130. data/spec/factories/snf_core/wallets.rb +0 -7
  131. data/spec/models/snf_core/address_spec.rb +0 -15
  132. data/spec/models/snf_core/business_document_spec.rb +0 -20
  133. data/spec/models/snf_core/business_spec.rb +0 -14
  134. data/spec/models/snf_core/category_spec.rb +0 -12
  135. data/spec/models/snf_core/customer_group_spec.rb +0 -11
  136. data/spec/models/snf_core/group_spec.rb +0 -11
  137. data/spec/models/snf_core/product_spec.rb +0 -17
  138. data/spec/models/snf_core/store_inventory_spec.rb +0 -24
  139. data/spec/models/snf_core/store_spec.rb +0 -13
  140. data/spec/models/snf_core/user_spec.rb +0 -23
  141. data/spec/models/snf_core/wallet_spec.rb +0 -28
  142. data/spec/rails_helper.rb +0 -46
  143. data/spec/sample_spec.rb +0 -5
  144. data/spec/spec_helper.rb +0 -36
  145. data/spec/support/models/shared_examples.rb +0 -49
  146. data/spec/support/requests/shared_requests.rb +0 -130
@@ -1,49 +0,0 @@
1
- module Scf
2
- module Core
3
- VALIDATIONS = {
4
- presence: "validate_presence_of",
5
- uniqueness: "validate_uniqueness_of",
6
- numericality: "validate_numericality_of",
7
- inclusion: "validate_inclusion_of",
8
- belong_to: "belong_to",
9
- have_many: "have_many",
10
- have_and_belong_to_many: "have_and_belong_to_many",
11
- have_one: "have_one",
12
- delegate: "delegate_method"
13
- }.freeze
14
-
15
- RSpec.shared_examples "model_shared_spec" do |factory, attribs, subj = true|
16
- subject { create(factory) } if subj
17
-
18
- it "has a valid factory" do
19
- expect(create(factory)).to be_valid
20
- end
21
-
22
- attribs.each do |attr|
23
- attr.each do |k, v|
24
- if v.instance_of?(Array)
25
- v.each do |validation|
26
- if validation.instance_of?(Hash)
27
- method = validation.keys[0]
28
- options = validation.values[0]
29
- it {
30
- expect(subject).to(
31
- options.inject(
32
- send(VALIDATIONS[method], k)
33
- ) do |o, p|
34
- p[1].nil? ? o.send(p[0]) : o.send(p[0], p[1])
35
- end
36
- )
37
- }
38
- else
39
- it { is_expected.to(send(VALIDATIONS[validation], k)) }
40
- end
41
- end
42
- else
43
- it { is_expected.to(send(VALIDATIONS[v], k)) }
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,130 +0,0 @@
1
- module Scf
2
- module Core
3
- RSpec.shared_examples "request_shared_spec" do |controller, field_count, exclude = []|
4
- include Scf::Core::Engine.routes.url_helpers
5
-
6
- let(:factory) { controller.classify.underscore.to_sym }
7
- let(:clazz) { "Scf::Core::#{controller.classify}".constantize }
8
- let!(:user) { create(:user) }
9
- let!(:headers) do
10
- "token"
11
- end
12
-
13
- unless exclude.include?(:index)
14
- describe "GET /index" do
15
- it "returns success response" do
16
- count = clazz.count
17
- 3.times { create(factory) }
18
- get(send("#{controller}_url"), headers: headers)
19
- expect(response).to be_successful
20
- result = JSON(response.body)
21
-
22
- expect(result["success"]).to be_truthy
23
- expect(result["data"].count - count).to eq 3
24
- end
25
- end
26
- end
27
-
28
- unless exclude.include?(:show)
29
- describe "GET /show" do
30
- it "returns a success response" do
31
- obj = create(factory)
32
- get(send("#{controller.singularize}_url", obj), headers: headers)
33
- expect(response).to be_successful
34
- result = JSON(response.body)
35
- expect(result["success"]).to be_truthy
36
- expect(result["data"].count).to eq field_count
37
- expect(result["data"]["id"]).to eq obj.id
38
- end
39
- end
40
- end
41
-
42
- unless exclude.include?(:create)
43
- describe "POST /create" do
44
- context "with valid params" do
45
- it "creates a new object" do
46
- params = { payload: valid_attributes }
47
- expect do
48
- post(
49
- send("#{controller}_url"),
50
- headers: headers,
51
- params: params,
52
- as: :json
53
- )
54
- end.to change(clazz, :count).by(1)
55
- expect(response).to have_http_status(:created)
56
- expect(response.content_type).to eq("application/json; charset=utf-8")
57
-
58
- result = JSON(response.body)
59
- expect(result["success"]).to be_truthy
60
- end
61
- end
62
-
63
- context "with invalid params" do
64
- it "renders a JSON response with errors for the new object" do
65
- params = { payload: invalid_attributes }
66
- post(
67
- send("#{controller}_url"),
68
- params: params,
69
- headers: headers,
70
- as: :json
71
- )
72
-
73
- expect(response).to have_http_status(422)
74
- expect(response.content_type).to eq("application/json; charset=utf-8")
75
-
76
- result = JSON(response.body)
77
- expect(result["success"]).to be_falsey
78
- expect(result["error"]).not_to be_blank
79
- end
80
- end
81
- end
82
- end
83
-
84
- unless exclude.include?(:update)
85
- describe "PUT /update" do
86
- context "with valid params" do
87
- it "updates the requested object" do
88
- obj = create(factory)
89
- params = { id: obj.to_param, payload: new_attributes }
90
- put(
91
- send("#{controller.singularize}_url", obj),
92
- headers: headers,
93
- params: params, as: :json
94
- )
95
- obj.reload
96
-
97
- expect(response).to have_http_status(:ok)
98
- expect(obj.send(new_attributes.keys[0])).to eq new_attributes.values[0]
99
- expect(response.content_type).to eq("application/json; charset=utf-8")
100
-
101
- result = JSON(response.body)
102
- expect(result["success"]).to be_truthy
103
- expect(result["data"]["id"]).to eq obj.id
104
- end
105
- end
106
-
107
- context "with invalid params" do
108
- it "renders a JSON response with errors for the object" do
109
- obj = create(factory)
110
- params = { id: obj.to_param, payload: invalid_attributes }
111
- put(
112
- send("#{controller.singularize}_url", obj),
113
- headers: headers,
114
- params: params,
115
- as: :json
116
- )
117
-
118
- expect(response).to have_http_status(422)
119
- expect(response.content_type).to eq("application/json; charset=utf-8")
120
-
121
- result = JSON(response.body)
122
- expect(result["success"]).to be_falsey
123
- expect(result["error"]).not_to be_blank
124
- end
125
- end
126
- end
127
- end
128
- end
129
- end
130
- end