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.
- checksums.yaml +4 -4
- data/MIT-LICENSE +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/app/controllers/concerns/common.rb +0 -0
- data/app/controllers/concerns/pagination.rb +0 -0
- data/app/controllers/snf_core/application_controller.rb +0 -0
- data/app/jobs/snf_core/application_job.rb +0 -0
- data/app/mailers/snf_core/application_mailer.rb +0 -0
- data/app/models/snf_core/address.rb +0 -0
- data/app/models/snf_core/application_record.rb +0 -0
- data/app/models/snf_core/business.rb +0 -0
- data/app/models/snf_core/business_document.rb +4 -1
- data/app/models/snf_core/category.rb +0 -0
- data/app/models/snf_core/customer_group.rb +0 -0
- data/app/models/snf_core/group.rb +0 -0
- data/app/models/snf_core/product.rb +0 -0
- data/app/models/snf_core/store.rb +0 -0
- data/app/models/snf_core/store_inventory.rb +0 -0
- data/app/models/snf_core/user.rb +0 -0
- data/app/models/snf_core/wallet.rb +0 -0
- data/config/routes.rb +0 -0
- data/db/migrate/20250226042622_create_snf_core_users.rb +0 -0
- data/db/migrate/20250226064444_create_snf_core_categories.rb +0 -0
- data/db/migrate/20250226080323_create_snf_core_businesses.rb +0 -0
- data/db/migrate/20250226102931_create_snf_core_business_documents.rb +0 -0
- data/db/migrate/20250226110217_create_snf_core_addresses.rb +0 -0
- data/db/migrate/20250226115215_create_snf_core_stores.rb +0 -0
- data/db/migrate/20250226181007_create_snf_core_products.rb +0 -0
- data/db/migrate/20250226190000_create_snf_core_store_inventories.rb +0 -0
- data/db/migrate/20250226192104_create_snf_core_groups.rb +0 -0
- data/db/migrate/20250226193938_create_snf_core_customer_groups.rb +0 -0
- data/db/migrate/20250227075048_create_snf_core_wallets.rb +0 -0
- data/db/migrate/20250227102833_modify_store_inventories.rb +0 -0
- data/lib/snf_core/engine.rb +0 -0
- data/lib/snf_core/version.rb +1 -1
- data/lib/snf_core.rb +0 -0
- data/lib/tasks/snf_core_tasks.rake +0 -0
- metadata +3 -110
- data/spec/dummy/Rakefile +0 -6
- data/spec/dummy/app/assets/stylesheets/application.css +0 -15
- data/spec/dummy/app/controllers/application_controller.rb +0 -2
- data/spec/dummy/app/jobs/application_job.rb +0 -7
- data/spec/dummy/app/mailers/application_mailer.rb +0 -4
- data/spec/dummy/app/models/application_record.rb +0 -3
- data/spec/dummy/app/views/layouts/mailer.html.erb +0 -13
- data/spec/dummy/app/views/layouts/mailer.text.erb +0 -1
- data/spec/dummy/bin/dev +0 -2
- data/spec/dummy/bin/rails +0 -4
- data/spec/dummy/bin/rake +0 -4
- data/spec/dummy/bin/setup +0 -34
- data/spec/dummy/config/application.rb +0 -43
- data/spec/dummy/config/boot.rb +0 -5
- data/spec/dummy/config/cable.yml +0 -10
- data/spec/dummy/config/database.yml +0 -20
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -67
- data/spec/dummy/config/environments/production.rb +0 -86
- data/spec/dummy/config/environments/test.rb +0 -53
- data/spec/dummy/config/initializers/cors.rb +0 -16
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -8
- data/spec/dummy/config/initializers/inflections.rb +0 -16
- data/spec/dummy/config/locales/en.yml +0 -31
- data/spec/dummy/config/puma.rb +0 -38
- data/spec/dummy/config/routes.rb +0 -3
- data/spec/dummy/config/storage.yml +0 -38
- data/spec/dummy/config.ru +0 -6
- data/spec/dummy/db/migrate/20250226123213_create_active_storage_tables.active_storage.rb +0 -57
- data/spec/dummy/db/schema.rb +0 -181
- data/spec/dummy/log/development.log +0 -901
- data/spec/dummy/log/test.log +0 -12199
- data/spec/dummy/spec/fixtures/files/sample.pdf +0 -0
- data/spec/dummy/tmp/local_secret.txt +0 -1
- 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 +0 -66
- data/spec/factories/snf_core/addresses.rb +0 -10
- data/spec/factories/snf_core/business_documents.rb +0 -18
- data/spec/factories/snf_core/businesses.rb +0 -10
- data/spec/factories/snf_core/categories.rb +0 -7
- data/spec/factories/snf_core/customer_groups.rb +0 -9
- data/spec/factories/snf_core/groups.rb +0 -6
- data/spec/factories/snf_core/products.rb +0 -9
- data/spec/factories/snf_core/store_inventories.rb +0 -8
- data/spec/factories/snf_core/stores.rb +0 -9
- data/spec/factories/snf_core/users.rb +0 -10
- data/spec/factories/snf_core/wallets.rb +0 -7
- data/spec/models/snf_core/address_spec.rb +0 -15
- data/spec/models/snf_core/business_document_spec.rb +0 -20
- data/spec/models/snf_core/business_spec.rb +0 -14
- data/spec/models/snf_core/category_spec.rb +0 -12
- data/spec/models/snf_core/customer_group_spec.rb +0 -11
- data/spec/models/snf_core/group_spec.rb +0 -11
- data/spec/models/snf_core/product_spec.rb +0 -17
- data/spec/models/snf_core/store_inventory_spec.rb +0 -24
- data/spec/models/snf_core/store_spec.rb +0 -13
- data/spec/models/snf_core/user_spec.rb +0 -23
- data/spec/models/snf_core/wallet_spec.rb +0 -28
- data/spec/rails_helper.rb +0 -46
- data/spec/sample_spec.rb +0 -5
- data/spec/spec_helper.rb +0 -36
- data/spec/support/models/shared_examples.rb +0 -49
- 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
|