snf_core 0.2.95 → 0.2.97
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/app/controllers/snf_core/auth_controller.rb +0 -42
- data/app/models/snf_core/quotation.rb +41 -0
- data/app/models/snf_core/user.rb +18 -19
- data/app/models/snf_core/virtual_account.rb +4 -4
- data/app/models/snf_core/virtual_account_transaction.rb +10 -10
- data/config/routes.rb +0 -3
- data/db/migrate/20250310122954_create_snf_core_virtual_accounts.rb +1 -1
- data/db/migrate/20250310143604_create_snf_core_item_requests.rb +5 -5
- data/db/migrate/20250312043359_create_snf_core_quotations.rb +14 -0
- data/lib/snf_core/version.rb +1 -1
- data/spec/dummy/db/schema.rb +14 -1
- data/spec/dummy/log/development.log +798 -0
- data/spec/dummy/log/test.log +11106 -0
- data/spec/dummy/tmp/storage/5m/j8/5mj8ypl6zxx8g3h7vqmu4p2la4pk +0 -0
- data/spec/dummy/tmp/storage/dw/75/dw75t7gej4irzb3hcqssl8w5vhde +0 -0
- data/spec/dummy/tmp/storage/dz/dq/dzdq3gkuy7tdiue1yqmciu86nzfg +0 -0
- data/spec/dummy/tmp/storage/j4/ln/j4lnbjjufbp59yxsdetbqs0cyjia +0 -0
- data/spec/dummy/tmp/storage/l8/1u/l81unawd0p9c61x8k6ofq0y227yt +0 -0
- data/spec/dummy/tmp/storage/oh/ls/ohlsxs36tio52r2ydrbzez1u0w26 +0 -0
- data/spec/dummy/tmp/storage/qq/vt/qqvtf3h8ge74ce67gghth8ivch0g +0 -0
- data/spec/dummy/tmp/storage/v5/c9/v5c9opt3yikmy2gwg4ftmde0vyt5 +0 -0
- data/spec/dummy/tmp/storage/za/ov/zaov1yasuhakxa5olzoed94khnf8 +0 -0
- data/spec/dummy/tmp/storage/zc/d6/zcd6d4lsb12obz7m7r6240qka8xw +0 -0
- data/spec/examples.txt +196 -189
- data/spec/factories/snf_core/quotations.rb +10 -0
- data/spec/models/snf_core/item_request_spec.rb +2 -2
- data/spec/models/snf_core/quotation_spec.rb +54 -0
- data/spec/models/snf_core/user_spec.rb +18 -19
- data/spec/models/snf_core/virtual_account_spec.rb +0 -1
- data/spec/models/snf_core/virtual_account_transaction_spec.rb +1 -1
- data/spec/requests/snf_core/auth_spec.rb +0 -84
- metadata +16 -2
@@ -68,90 +68,6 @@ module SnfCore
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
-
describe "POST /reset_password_request" do
|
72
|
-
context 'with invalid email' do
|
73
|
-
it 'returns error for non-existent user' do
|
74
|
-
post '/snf_core/auth/reset_password_request', params: { auth: { email: 'nonexistent@email.com' } }
|
75
|
-
expect(response).to have_http_status(:unauthorized)
|
76
|
-
expect(json_response[:success]).to be false
|
77
|
-
expect(json_response[:error]).to eq("User doesn't exist")
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
describe "POST /reset_password" do
|
83
|
-
let(:reset_token) { SecureRandom.hex }
|
84
|
-
before { user.update(reset_password_token: reset_token) }
|
85
|
-
|
86
|
-
context 'with valid token' do
|
87
|
-
it 'successfully resets password' do
|
88
|
-
post '/snf_core/auth/reset_password', params: {
|
89
|
-
auth: {
|
90
|
-
reset_password_token: reset_token,
|
91
|
-
password: 'new_password123'
|
92
|
-
}
|
93
|
-
}
|
94
|
-
|
95
|
-
expect(response).to have_http_status(:success)
|
96
|
-
expect(json_response[:success]).to be true
|
97
|
-
expect(user.reload.reset_password_token).to be_nil
|
98
|
-
expect(user.password_changed).to be true
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
context 'with invalid token' do
|
103
|
-
it 'returns error for invalid token' do
|
104
|
-
post '/snf_core/auth/reset_password', params: {
|
105
|
-
auth: {
|
106
|
-
reset_password_token: 'invalid_token',
|
107
|
-
password: 'new_password123'
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
expect(response).to have_http_status(:unauthorized)
|
112
|
-
expect(json_response[:success]).to be false
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
describe "POST /change_password" do
|
118
|
-
let(:auth_token) { TokenService.new.encode({ user: user.as_json, role: role.name }) }
|
119
|
-
|
120
|
-
before do
|
121
|
-
allow_any_instance_of(ApplicationController).to receive(:current_user).and_return(user)
|
122
|
-
end
|
123
|
-
|
124
|
-
context 'with valid current password' do
|
125
|
-
it 'successfully changes password' do
|
126
|
-
post '/snf_core/auth/change_password', params: {
|
127
|
-
auth: {
|
128
|
-
password: 'password123',
|
129
|
-
new_password: 'new_password123'
|
130
|
-
}
|
131
|
-
}, headers: { 'Authorization': "Bearer #{auth_token}" }
|
132
|
-
|
133
|
-
expect(response).to have_http_status(:success)
|
134
|
-
expect(json_response[:success]).to be true
|
135
|
-
expect(user.reload.password_changed).to be true
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
context 'with invalid current password' do
|
140
|
-
it 'returns error for wrong current password' do
|
141
|
-
post '/snf_core/auth/change_password', params: {
|
142
|
-
auth: {
|
143
|
-
password: 'wrong_password',
|
144
|
-
new_password: 'new_password123'
|
145
|
-
}
|
146
|
-
}, headers: { 'Authorization': "Bearer #{auth_token}" }
|
147
|
-
|
148
|
-
expect(response).to have_http_status(:success)
|
149
|
-
expect(json_response[:success]).to be false
|
150
|
-
expect(json_response[:error]).to eq('Invalid password')
|
151
|
-
end
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
71
|
|
156
72
|
describe "POST /signup" do
|
157
73
|
context 'with valid parameters' do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
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.97
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Asrat
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-03-
|
10
|
+
date: 2025-03-12 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: active_model_serializers
|
@@ -303,6 +303,7 @@ files:
|
|
303
303
|
- app/models/snf_core/order.rb
|
304
304
|
- app/models/snf_core/order_item.rb
|
305
305
|
- app/models/snf_core/product.rb
|
306
|
+
- app/models/snf_core/quotation.rb
|
306
307
|
- app/models/snf_core/role.rb
|
307
308
|
- app/models/snf_core/store.rb
|
308
309
|
- app/models/snf_core/store_inventory.rb
|
@@ -339,6 +340,7 @@ files:
|
|
339
340
|
- db/migrate/20250310133249_create_snf_core_virtual_account_transactions.rb
|
340
341
|
- db/migrate/20250310143604_create_snf_core_item_requests.rb
|
341
342
|
- db/migrate/20250311000000_create_snf_core_account_transfers.rb
|
343
|
+
- db/migrate/20250312043359_create_snf_core_quotations.rb
|
342
344
|
- lib/snf_core.rb
|
343
345
|
- lib/snf_core/engine.rb
|
344
346
|
- lib/snf_core/version.rb
|
@@ -450,6 +452,7 @@ files:
|
|
450
452
|
- spec/dummy/tmp/storage/5l/n8/5ln8h3958owro1x84wkcgdnu0jqc
|
451
453
|
- spec/dummy/tmp/storage/5m/0k/5m0k5zx08ouqos7rs09bpgmalspu
|
452
454
|
- spec/dummy/tmp/storage/5m/4n/5m4nvbe3vqwrdpy6hujr1oq5nolv
|
455
|
+
- spec/dummy/tmp/storage/5m/j8/5mj8ypl6zxx8g3h7vqmu4p2la4pk
|
453
456
|
- spec/dummy/tmp/storage/5n/ys/5nyszrcfj6fl2spwxjn1yea42ax0
|
454
457
|
- spec/dummy/tmp/storage/5o/sq/5osq7rdic48at5pkcoqdpf0ios2p
|
455
458
|
- spec/dummy/tmp/storage/5r/tv/5rtv2agppt9e52eg0oc81svs896e
|
@@ -556,8 +559,10 @@ files:
|
|
556
559
|
- spec/dummy/tmp/storage/dq/p8/dqp8o7eqfob92n81thzhj4mmviwf
|
557
560
|
- spec/dummy/tmp/storage/dr/1z/dr1z3xxvya5ywessdrhmk05b2apz
|
558
561
|
- spec/dummy/tmp/storage/dr/6z/dr6z0vwwsxqzw0kfkwl598uciyft
|
562
|
+
- spec/dummy/tmp/storage/dw/75/dw75t7gej4irzb3hcqssl8w5vhde
|
559
563
|
- spec/dummy/tmp/storage/dx/iu/dxiu87gi66esp528s27d805z6b1v
|
560
564
|
- spec/dummy/tmp/storage/dz/8f/dz8ftt7idroaj4i1e6dlwnmtuu9y
|
565
|
+
- spec/dummy/tmp/storage/dz/dq/dzdq3gkuy7tdiue1yqmciu86nzfg
|
561
566
|
- spec/dummy/tmp/storage/e2/uo/e2uoyhzlaj5538p6rjs37pbl0z9g
|
562
567
|
- spec/dummy/tmp/storage/e6/5h/e65haeyr0sglopfuo5chz55thi9z
|
563
568
|
- spec/dummy/tmp/storage/ef/ih/efihy3gyspz150a8mpmhvj01xr07
|
@@ -607,6 +612,7 @@ files:
|
|
607
612
|
- spec/dummy/tmp/storage/iu/p5/iup5sduqqzumtymzw6g75kmtj4kq
|
608
613
|
- spec/dummy/tmp/storage/iw/19/iw191t6h61ig4a68n3rk73vjvldc
|
609
614
|
- spec/dummy/tmp/storage/j0/jz/j0jz8g89xbvv61ou1cj7dztym5k3
|
615
|
+
- spec/dummy/tmp/storage/j4/ln/j4lnbjjufbp59yxsdetbqs0cyjia
|
610
616
|
- spec/dummy/tmp/storage/j6/ym/j6ymkvvvhcdf7snmc6cardtsy9nd
|
611
617
|
- spec/dummy/tmp/storage/j7/6x/j76x0oirv7i4t6p3blseuaknp7pw
|
612
618
|
- spec/dummy/tmp/storage/ja/gd/jagd3s4q6qfpo12dhrit2p49dyic
|
@@ -634,6 +640,7 @@ files:
|
|
634
640
|
- spec/dummy/tmp/storage/l4/ge/l4gelxdup4epl7lv9x5qyhatk2l6
|
635
641
|
- spec/dummy/tmp/storage/l5/3j/l53jq75i2ywyslq3wl999vl2jmyz
|
636
642
|
- spec/dummy/tmp/storage/l7/kw/l7kwoq4oqz0m8cr0i3y8gdjk7r33
|
643
|
+
- spec/dummy/tmp/storage/l8/1u/l81unawd0p9c61x8k6ofq0y227yt
|
637
644
|
- spec/dummy/tmp/storage/la/a6/laa6ye8vmuyl7m1gjpkcx19cdpzq
|
638
645
|
- spec/dummy/tmp/storage/lf/za/lfza3dsbodpk6z7iy09qbpl40frd
|
639
646
|
- spec/dummy/tmp/storage/li/di/lidigrxrlew69ebcfx5ubeb203ck
|
@@ -678,6 +685,7 @@ files:
|
|
678
685
|
- spec/dummy/tmp/storage/oc/zy/oczyqb5chp2fvo9kdu62c3y7pl5i
|
679
686
|
- spec/dummy/tmp/storage/oe/bq/oebq593a6bpwkbxpx6segtwyy0jy
|
680
687
|
- spec/dummy/tmp/storage/of/zt/ofzt1knekv9ft8direbw6fiaacvc
|
688
|
+
- spec/dummy/tmp/storage/oh/ls/ohlsxs36tio52r2ydrbzez1u0w26
|
681
689
|
- spec/dummy/tmp/storage/ol/u8/olu875ti78gguc82spdkt9z8tpii
|
682
690
|
- spec/dummy/tmp/storage/p5/4w/p54wycc6tln36b54yfsz2zk7hcdt
|
683
691
|
- spec/dummy/tmp/storage/p9/hd/p9hddsr7pgksgl6vuqgtkp1ad7x2
|
@@ -694,6 +702,7 @@ files:
|
|
694
702
|
- spec/dummy/tmp/storage/qn/1h/qn1hgmvsrnd8dkn4nvcyvqy3q2sb
|
695
703
|
- spec/dummy/tmp/storage/qo/zx/qozxdnemk1fwxcvhe1j10ys7mxcq
|
696
704
|
- spec/dummy/tmp/storage/qp/hi/qphia48836lod6l2ao5ca6ocd8ws
|
705
|
+
- spec/dummy/tmp/storage/qq/vt/qqvtf3h8ge74ce67gghth8ivch0g
|
697
706
|
- spec/dummy/tmp/storage/qs/jk/qsjkqiiarr85uobud0qsnnmpraol
|
698
707
|
- spec/dummy/tmp/storage/qw/7z/qw7zsf91njf7ga6454nrjpvddjn5
|
699
708
|
- spec/dummy/tmp/storage/r6/6f/r66f8sxtwvlk8c1ava46bgua5hn0
|
@@ -744,6 +753,7 @@ files:
|
|
744
753
|
- spec/dummy/tmp/storage/ux/te/uxtezp2rqztn4cernmn7477gukxe
|
745
754
|
- spec/dummy/tmp/storage/v1/a2/v1a2h0c0xy9cuejexqy3a8ix794i
|
746
755
|
- spec/dummy/tmp/storage/v4/yi/v4yieu5kcx0jz3ephiptzr46djev
|
756
|
+
- spec/dummy/tmp/storage/v5/c9/v5c9opt3yikmy2gwg4ftmde0vyt5
|
747
757
|
- spec/dummy/tmp/storage/v8/cs/v8csqmcgvc4z177g5hfmp7twf6ay
|
748
758
|
- spec/dummy/tmp/storage/va/sc/vascc4h0c7dv7uwwcn2wdvx6qyhy
|
749
759
|
- spec/dummy/tmp/storage/vb/z1/vbz124po6xcx6fbh4nefle8r6of3
|
@@ -790,7 +800,9 @@ files:
|
|
790
800
|
- spec/dummy/tmp/storage/z5/qs/z5qs5fq00igr3xv5izgcyhhsdw7y
|
791
801
|
- spec/dummy/tmp/storage/z5/sg/z5sgd1au9gcfkqb3kq82f3yry6a6
|
792
802
|
- spec/dummy/tmp/storage/z7/8n/z78nuzozxx53c7cpp3e4kt3nghaa
|
803
|
+
- spec/dummy/tmp/storage/za/ov/zaov1yasuhakxa5olzoed94khnf8
|
793
804
|
- spec/dummy/tmp/storage/zb/ke/zbkeh8j7fx7u3fqu28anb6mso6xz
|
805
|
+
- spec/dummy/tmp/storage/zc/d6/zcd6d4lsb12obz7m7r6240qka8xw
|
794
806
|
- spec/dummy/tmp/storage/zc/i3/zci3kt86sywh9q6u7xv7yt38xznu
|
795
807
|
- spec/dummy/tmp/storage/zf/bm/zfbmpgsfvuwwpvsa2i11z5x5usgp
|
796
808
|
- spec/dummy/tmp/storage/zk/3v/zk3vlz1al2rba9wlkzoa6p8wpli0
|
@@ -809,6 +821,7 @@ files:
|
|
809
821
|
- spec/factories/snf_core/order_items.rb
|
810
822
|
- spec/factories/snf_core/orders.rb
|
811
823
|
- spec/factories/snf_core/products.rb
|
824
|
+
- spec/factories/snf_core/quotations.rb
|
812
825
|
- spec/factories/snf_core/roles.rb
|
813
826
|
- spec/factories/snf_core/store_inventories.rb
|
814
827
|
- spec/factories/snf_core/stores.rb
|
@@ -831,6 +844,7 @@ files:
|
|
831
844
|
- spec/models/snf_core/order_item_spec.rb
|
832
845
|
- spec/models/snf_core/order_spec.rb
|
833
846
|
- spec/models/snf_core/product_spec.rb
|
847
|
+
- spec/models/snf_core/quotation_spec.rb
|
834
848
|
- spec/models/snf_core/role_spec.rb
|
835
849
|
- spec/models/snf_core/store_inventory_spec.rb
|
836
850
|
- spec/models/snf_core/store_spec.rb
|