snf_core 0.2.4 → 0.2.5
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.
- checksums.yaml +4 -4
- data/lib/snf_core/engine.rb +1 -1
- data/lib/snf_core/version.rb +1 -1
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +2 -0
- data/spec/dummy/app/jobs/application_job.rb +7 -0
- data/spec/dummy/app/mailers/application_mailer.rb +4 -0
- data/spec/dummy/app/models/application_record.rb +3 -0
- data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/spec/dummy/bin/dev +2 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +34 -0
- data/spec/dummy/config/application.rb +43 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/database.yml +20 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +67 -0
- data/spec/dummy/config/environments/production.rb +86 -0
- data/spec/dummy/config/environments/test.rb +53 -0
- data/spec/dummy/config/initializers/cors.rb +16 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +8 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/locales/en.yml +31 -0
- data/spec/dummy/config/puma.rb +38 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/config/storage.yml +38 -0
- data/spec/dummy/config.ru +6 -0
- data/spec/dummy/db/migrate/20250226123213_create_active_storage_tables.active_storage.rb +57 -0
- data/spec/dummy/db/schema.rb +181 -0
- data/spec/dummy/log/development.log +901 -0
- data/spec/dummy/log/test.log +12199 -0
- data/spec/dummy/spec/fixtures/files/sample.pdf +0 -0
- data/spec/dummy/tmp/local_secret.txt +1 -0
- data/spec/dummy/tmp/storage/13/1y/131yod70wqijazn3ix829yvuuvge +0 -0
- data/spec/dummy/tmp/storage/16/na/16na9nc1z98jt6fyn3axj3bhudes +0 -0
- data/spec/dummy/tmp/storage/1t/oy/1toyz0i6f9u5xexr4cpwttr04ood +0 -0
- data/spec/dummy/tmp/storage/1x/i3/1xi33eqr5ipoaz0upakb8yy7qc4o +0 -0
- data/spec/dummy/tmp/storage/24/69/2469t9kpepg4fd8ki960h025li0b +0 -0
- data/spec/dummy/tmp/storage/2a/0u/2a0uyihfk1wn5c1fuz09unocwy2m +0 -0
- data/spec/dummy/tmp/storage/4t/86/4t862kv9wcz0p7wgdvpmtmczdadt +0 -0
- data/spec/dummy/tmp/storage/5s/zb/5szbksq6mg3768g9vtk788gc49gw +0 -0
- data/spec/dummy/tmp/storage/6g/dc/6gdc40iivivwbln1zs4dqedt5ni7 +0 -0
- data/spec/dummy/tmp/storage/6o/7a/6o7ax3ihg25bswxp4d601mqo7tl3 +0 -0
- data/spec/dummy/tmp/storage/6z/86/6z862zpc67sikzl0otbf418t2clj +0 -0
- data/spec/dummy/tmp/storage/92/hw/92hw9u9j6728qgwpcn7oqphe9tzj +0 -0
- data/spec/dummy/tmp/storage/9a/3q/9a3qd5qc7j6dzzmg16wcpvwoowmp +0 -0
- data/spec/dummy/tmp/storage/al/8s/al8szf81ccm4ckpvxh3bv6vlgp0y +0 -0
- data/spec/dummy/tmp/storage/b8/8l/b88ln7wuq13v4akgwgc0dgac8887 +0 -0
- data/spec/dummy/tmp/storage/bs/y9/bsy9t4961ra8hwlq06wjtgrrcflp +0 -0
- data/spec/dummy/tmp/storage/cs/x9/csx9mv26ab1lm82a7itryfq4v6rq +0 -0
- data/spec/dummy/tmp/storage/dp/0f/dp0fx9ji1bqvx1najwjgns6n7fhf +0 -0
- data/spec/dummy/tmp/storage/em/kc/emkc4tc71k65mfcurv6k8z1ylswl +0 -0
- data/spec/dummy/tmp/storage/em/vx/emvx0c15o74mr0nlcvdc7m88j2gi +0 -0
- data/spec/dummy/tmp/storage/ga/7e/ga7eiyyv0llme2i4xby0kdp4a4h8 +0 -0
- data/spec/dummy/tmp/storage/h4/vg/h4vgoatz21dhjrztrrbg2hdhkwjb +0 -0
- data/spec/dummy/tmp/storage/hi/9h/hi9ho77symoy2j0ye28fxgnxw3kt +0 -0
- data/spec/dummy/tmp/storage/hl/yy/hlyyu150rt2yos1sa9ed1qw49y26 +0 -0
- data/spec/dummy/tmp/storage/j7/6x/j76x0oirv7i4t6p3blseuaknp7pw +0 -0
- data/spec/dummy/tmp/storage/jq/95/jq95rqhv5usgucn2d2mmkhjufapu +0 -0
- data/spec/dummy/tmp/storage/ky/1y/ky1ys68lmat11bxs2395dqugiyig +0 -0
- data/spec/dummy/tmp/storage/ln/0f/ln0fz4opsdycu80q7urfez9ar7kn +0 -0
- data/spec/dummy/tmp/storage/mk/4w/mk4w528bsn47ewri0odui9s40f87 +0 -0
- data/spec/dummy/tmp/storage/na/6r/na6rrohinrnjofsq27u95up5rp8k +0 -0
- data/spec/dummy/tmp/storage/oc/f8/ocf8zs18lm9fnkpqj6wpshdpyf43 +0 -0
- data/spec/dummy/tmp/storage/oe/bq/oebq593a6bpwkbxpx6segtwyy0jy +0 -0
- data/spec/dummy/tmp/storage/qs/jk/qsjkqiiarr85uobud0qsnnmpraol +0 -0
- data/spec/dummy/tmp/storage/qw/7z/qw7zsf91njf7ga6454nrjpvddjn5 +0 -0
- data/spec/dummy/tmp/storage/rh/0h/rh0h80b8er9vp1u8dcocy1u58obf +0 -0
- data/spec/dummy/tmp/storage/tc/gu/tcgurel05x9fk9ksm4hxwfla3hg3 +0 -0
- data/spec/dummy/tmp/storage/tm/ce/tmce54998rdnz191k02fzowpebvw +0 -0
- data/spec/dummy/tmp/storage/w2/3f/w23f3igzkn7bddqxry5x4wsu2ths +0 -0
- data/spec/dummy/tmp/storage/wo/81/wo813rsnwvoa55h0vq0fr79iajuw +0 -0
- data/spec/dummy/tmp/storage/wy/14/wy14megn3o5zqplv9xg6u32uwkr6 +0 -0
- data/spec/dummy/tmp/storage/xj/yy/xjyygdd3znvvpt9ufz1vv4lfsx3w +0 -0
- data/spec/dummy/tmp/storage/yf/49/yf49a4ydheqf3cqs0u49sanbl4ms +0 -0
- data/spec/dummy/tmp/storage/yh/q1/yhq1muao2dpuykmj12bxhd0x4ntk +0 -0
- data/spec/dummy/tmp/storage/yx/jp/yxjpumjyo1jysjpg20qaxgsqg4fw +0 -0
- data/spec/dummy/tmp/storage/z1/gr/z1grp34d5vw7mi4g8vw8yfu91ny2 +0 -0
- data/spec/examples.txt +66 -0
- data/spec/factories/snf_core/addresses.rb +10 -0
- data/spec/factories/snf_core/business_documents.rb +18 -0
- data/spec/factories/snf_core/businesses.rb +10 -0
- data/spec/factories/snf_core/categories.rb +7 -0
- data/spec/factories/snf_core/customer_groups.rb +9 -0
- data/spec/factories/snf_core/groups.rb +6 -0
- data/spec/factories/snf_core/products.rb +9 -0
- data/spec/factories/snf_core/store_inventories.rb +8 -0
- data/spec/factories/snf_core/stores.rb +9 -0
- data/spec/factories/snf_core/users.rb +10 -0
- data/spec/factories/snf_core/wallets.rb +7 -0
- data/spec/models/snf_core/address_spec.rb +15 -0
- data/spec/models/snf_core/business_document_spec.rb +20 -0
- data/spec/models/snf_core/business_spec.rb +14 -0
- data/spec/models/snf_core/category_spec.rb +12 -0
- data/spec/models/snf_core/customer_group_spec.rb +11 -0
- data/spec/models/snf_core/group_spec.rb +11 -0
- data/spec/models/snf_core/product_spec.rb +17 -0
- data/spec/models/snf_core/store_inventory_spec.rb +24 -0
- data/spec/models/snf_core/store_spec.rb +13 -0
- data/spec/models/snf_core/user_spec.rb +23 -0
- data/spec/models/snf_core/wallet_spec.rb +28 -0
- data/spec/rails_helper.rb +46 -0
- data/spec/sample_spec.rb +5 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/support/models/shared_examples.rb +49 -0
- data/spec/support/requests/shared_requests.rb +130 -0
- metadata +108 -1
@@ -0,0 +1,49 @@
|
|
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
|
@@ -0,0 +1,130 @@
|
|
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
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snf_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Asrat
|
@@ -317,6 +317,113 @@ files:
|
|
317
317
|
- lib/snf_core/engine.rb
|
318
318
|
- lib/snf_core/version.rb
|
319
319
|
- lib/tasks/snf_core_tasks.rake
|
320
|
+
- spec/dummy/Rakefile
|
321
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
322
|
+
- spec/dummy/app/controllers/application_controller.rb
|
323
|
+
- spec/dummy/app/jobs/application_job.rb
|
324
|
+
- spec/dummy/app/mailers/application_mailer.rb
|
325
|
+
- spec/dummy/app/models/application_record.rb
|
326
|
+
- spec/dummy/app/views/layouts/mailer.html.erb
|
327
|
+
- spec/dummy/app/views/layouts/mailer.text.erb
|
328
|
+
- spec/dummy/bin/dev
|
329
|
+
- spec/dummy/bin/rails
|
330
|
+
- spec/dummy/bin/rake
|
331
|
+
- spec/dummy/bin/setup
|
332
|
+
- spec/dummy/config.ru
|
333
|
+
- spec/dummy/config/application.rb
|
334
|
+
- spec/dummy/config/boot.rb
|
335
|
+
- spec/dummy/config/cable.yml
|
336
|
+
- spec/dummy/config/database.yml
|
337
|
+
- spec/dummy/config/environment.rb
|
338
|
+
- spec/dummy/config/environments/development.rb
|
339
|
+
- spec/dummy/config/environments/production.rb
|
340
|
+
- spec/dummy/config/environments/test.rb
|
341
|
+
- spec/dummy/config/initializers/cors.rb
|
342
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
343
|
+
- spec/dummy/config/initializers/inflections.rb
|
344
|
+
- spec/dummy/config/locales/en.yml
|
345
|
+
- spec/dummy/config/puma.rb
|
346
|
+
- spec/dummy/config/routes.rb
|
347
|
+
- spec/dummy/config/storage.yml
|
348
|
+
- spec/dummy/db/migrate/20250226123213_create_active_storage_tables.active_storage.rb
|
349
|
+
- spec/dummy/db/schema.rb
|
350
|
+
- spec/dummy/log/development.log
|
351
|
+
- spec/dummy/log/test.log
|
352
|
+
- spec/dummy/spec/fixtures/files/sample.pdf
|
353
|
+
- spec/dummy/tmp/local_secret.txt
|
354
|
+
- spec/dummy/tmp/storage/13/1y/131yod70wqijazn3ix829yvuuvge
|
355
|
+
- spec/dummy/tmp/storage/16/na/16na9nc1z98jt6fyn3axj3bhudes
|
356
|
+
- spec/dummy/tmp/storage/1t/oy/1toyz0i6f9u5xexr4cpwttr04ood
|
357
|
+
- spec/dummy/tmp/storage/1x/i3/1xi33eqr5ipoaz0upakb8yy7qc4o
|
358
|
+
- spec/dummy/tmp/storage/24/69/2469t9kpepg4fd8ki960h025li0b
|
359
|
+
- spec/dummy/tmp/storage/2a/0u/2a0uyihfk1wn5c1fuz09unocwy2m
|
360
|
+
- spec/dummy/tmp/storage/4t/86/4t862kv9wcz0p7wgdvpmtmczdadt
|
361
|
+
- spec/dummy/tmp/storage/5s/zb/5szbksq6mg3768g9vtk788gc49gw
|
362
|
+
- spec/dummy/tmp/storage/6g/dc/6gdc40iivivwbln1zs4dqedt5ni7
|
363
|
+
- spec/dummy/tmp/storage/6o/7a/6o7ax3ihg25bswxp4d601mqo7tl3
|
364
|
+
- spec/dummy/tmp/storage/6z/86/6z862zpc67sikzl0otbf418t2clj
|
365
|
+
- spec/dummy/tmp/storage/92/hw/92hw9u9j6728qgwpcn7oqphe9tzj
|
366
|
+
- spec/dummy/tmp/storage/9a/3q/9a3qd5qc7j6dzzmg16wcpvwoowmp
|
367
|
+
- spec/dummy/tmp/storage/al/8s/al8szf81ccm4ckpvxh3bv6vlgp0y
|
368
|
+
- spec/dummy/tmp/storage/b8/8l/b88ln7wuq13v4akgwgc0dgac8887
|
369
|
+
- spec/dummy/tmp/storage/bs/y9/bsy9t4961ra8hwlq06wjtgrrcflp
|
370
|
+
- spec/dummy/tmp/storage/cs/x9/csx9mv26ab1lm82a7itryfq4v6rq
|
371
|
+
- spec/dummy/tmp/storage/dp/0f/dp0fx9ji1bqvx1najwjgns6n7fhf
|
372
|
+
- spec/dummy/tmp/storage/em/kc/emkc4tc71k65mfcurv6k8z1ylswl
|
373
|
+
- spec/dummy/tmp/storage/em/vx/emvx0c15o74mr0nlcvdc7m88j2gi
|
374
|
+
- spec/dummy/tmp/storage/ga/7e/ga7eiyyv0llme2i4xby0kdp4a4h8
|
375
|
+
- spec/dummy/tmp/storage/h4/vg/h4vgoatz21dhjrztrrbg2hdhkwjb
|
376
|
+
- spec/dummy/tmp/storage/hi/9h/hi9ho77symoy2j0ye28fxgnxw3kt
|
377
|
+
- spec/dummy/tmp/storage/hl/yy/hlyyu150rt2yos1sa9ed1qw49y26
|
378
|
+
- spec/dummy/tmp/storage/j7/6x/j76x0oirv7i4t6p3blseuaknp7pw
|
379
|
+
- spec/dummy/tmp/storage/jq/95/jq95rqhv5usgucn2d2mmkhjufapu
|
380
|
+
- spec/dummy/tmp/storage/ky/1y/ky1ys68lmat11bxs2395dqugiyig
|
381
|
+
- spec/dummy/tmp/storage/ln/0f/ln0fz4opsdycu80q7urfez9ar7kn
|
382
|
+
- spec/dummy/tmp/storage/mk/4w/mk4w528bsn47ewri0odui9s40f87
|
383
|
+
- spec/dummy/tmp/storage/na/6r/na6rrohinrnjofsq27u95up5rp8k
|
384
|
+
- spec/dummy/tmp/storage/oc/f8/ocf8zs18lm9fnkpqj6wpshdpyf43
|
385
|
+
- spec/dummy/tmp/storage/oe/bq/oebq593a6bpwkbxpx6segtwyy0jy
|
386
|
+
- spec/dummy/tmp/storage/qs/jk/qsjkqiiarr85uobud0qsnnmpraol
|
387
|
+
- spec/dummy/tmp/storage/qw/7z/qw7zsf91njf7ga6454nrjpvddjn5
|
388
|
+
- spec/dummy/tmp/storage/rh/0h/rh0h80b8er9vp1u8dcocy1u58obf
|
389
|
+
- spec/dummy/tmp/storage/tc/gu/tcgurel05x9fk9ksm4hxwfla3hg3
|
390
|
+
- spec/dummy/tmp/storage/tm/ce/tmce54998rdnz191k02fzowpebvw
|
391
|
+
- spec/dummy/tmp/storage/w2/3f/w23f3igzkn7bddqxry5x4wsu2ths
|
392
|
+
- spec/dummy/tmp/storage/wo/81/wo813rsnwvoa55h0vq0fr79iajuw
|
393
|
+
- spec/dummy/tmp/storage/wy/14/wy14megn3o5zqplv9xg6u32uwkr6
|
394
|
+
- spec/dummy/tmp/storage/xj/yy/xjyygdd3znvvpt9ufz1vv4lfsx3w
|
395
|
+
- spec/dummy/tmp/storage/yf/49/yf49a4ydheqf3cqs0u49sanbl4ms
|
396
|
+
- spec/dummy/tmp/storage/yh/q1/yhq1muao2dpuykmj12bxhd0x4ntk
|
397
|
+
- spec/dummy/tmp/storage/yx/jp/yxjpumjyo1jysjpg20qaxgsqg4fw
|
398
|
+
- spec/dummy/tmp/storage/z1/gr/z1grp34d5vw7mi4g8vw8yfu91ny2
|
399
|
+
- spec/examples.txt
|
400
|
+
- spec/factories/snf_core/addresses.rb
|
401
|
+
- spec/factories/snf_core/business_documents.rb
|
402
|
+
- spec/factories/snf_core/businesses.rb
|
403
|
+
- spec/factories/snf_core/categories.rb
|
404
|
+
- spec/factories/snf_core/customer_groups.rb
|
405
|
+
- spec/factories/snf_core/groups.rb
|
406
|
+
- spec/factories/snf_core/products.rb
|
407
|
+
- spec/factories/snf_core/store_inventories.rb
|
408
|
+
- spec/factories/snf_core/stores.rb
|
409
|
+
- spec/factories/snf_core/users.rb
|
410
|
+
- spec/factories/snf_core/wallets.rb
|
411
|
+
- spec/models/snf_core/address_spec.rb
|
412
|
+
- spec/models/snf_core/business_document_spec.rb
|
413
|
+
- spec/models/snf_core/business_spec.rb
|
414
|
+
- spec/models/snf_core/category_spec.rb
|
415
|
+
- spec/models/snf_core/customer_group_spec.rb
|
416
|
+
- spec/models/snf_core/group_spec.rb
|
417
|
+
- spec/models/snf_core/product_spec.rb
|
418
|
+
- spec/models/snf_core/store_inventory_spec.rb
|
419
|
+
- spec/models/snf_core/store_spec.rb
|
420
|
+
- spec/models/snf_core/user_spec.rb
|
421
|
+
- spec/models/snf_core/wallet_spec.rb
|
422
|
+
- spec/rails_helper.rb
|
423
|
+
- spec/sample_spec.rb
|
424
|
+
- spec/spec_helper.rb
|
425
|
+
- spec/support/models/shared_examples.rb
|
426
|
+
- spec/support/requests/shared_requests.rb
|
320
427
|
homepage: https://mksaddis.com/
|
321
428
|
licenses:
|
322
429
|
- MIT
|