ctws 0.2.3.beta → 0.3.0.beta

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,7 +1,7 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :ctws_user, class: User do
3
- email "email@test.com"
4
- password "ruby123"
5
- password_confirmation "ruby123"
3
+ email {"email@test.com"}
4
+ password {"ruby123"}
5
+ password_confirmation {"ruby123"}
6
6
  end
7
7
  end
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :ctws_min_app_version, class: Ctws::MinAppVersion do
3
3
  codename { Faker::Lorem.words(3) }
4
4
  description { Faker::Lorem.sentences(1) }
@@ -6,4 +6,4 @@ FactoryGirl.define do
6
6
  min_version {"#{Faker::Number.digit}.#{Faker::Number.digit}.#{Faker::Number.digit}"}
7
7
  store_uri { Faker::Internet.url }
8
8
  end
9
- end
9
+ end
@@ -11,7 +11,7 @@ require 'jwt'
11
11
 
12
12
  # Add additional requires below this line. Rails is not loaded until this point!
13
13
  require 'database_cleaner'
14
- require 'factory_girl_rails'
14
+ require 'factory_bot_rails'
15
15
  # Requires supporting ruby files with custom matchers and macros, etc, in
16
16
  # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
17
17
  # run as spec files by default. This means that files in spec/support that end
@@ -47,9 +47,10 @@ RSpec.configure do |config|
47
47
  # examples within a transaction, remove the following line or assign false
48
48
  # instead of true.
49
49
  config.use_transactional_fixtures = true
50
-
51
- # add `FactoryGirl` methods
52
- config.include FactoryGirl::Syntax::Methods
50
+
51
+ # add `FactoryBot` methods
52
+ # config.factory_bot.definition_file_paths = ["spec/factories"]
53
+ config.include FactoryBot::Syntax::Methods
53
54
 
54
55
  # start by truncating all the tables but then use the faster transaction strategy the rest of the time.
55
56
  config.before(:suite) do
@@ -78,7 +79,7 @@ RSpec.configure do |config|
78
79
  # The different available types are documented in the features, such as in
79
80
  # https://relishapp.com/rspec/rspec-rails/docs
80
81
  config.infer_spec_type_from_file_location!
81
-
82
+
82
83
  config.include Ctws::RequestSpecHelper
83
84
  config.include Ctws::ControllerSpecHelper
84
85
  # Filter lines from Rails gems in backtraces.
@@ -21,27 +21,27 @@ module Ctws
21
21
  password: Faker::Internet.password
22
22
  }.to_json
23
23
  end
24
-
24
+
25
25
  # set request.headers to our custom headers
26
26
  # before { allow(request).to receive(:headers).and_return(headers) }
27
-
27
+
28
28
  # returns auth token when request is valid
29
29
  context 'When request is valid' do
30
30
  before { post '/ctws/v1/login', params: valid_credentials, headers: headers }
31
-
31
+
32
32
  it 'returns an authentication token' do
33
33
  expect(json["data"]["attributes"]["auth_token"]).not_to be_nil
34
34
  end
35
35
  end
36
-
36
+
37
37
  # returns failure message when request is invalid
38
38
  context 'When request is invalid' do
39
39
  before { post '/ctws/v1/login', params: invalid_credentials, headers: headers }
40
-
40
+
41
41
  it 'returns a failure message' do
42
- expect(json["errors"]["message"]).to match(/Invalid credentials/)
42
+ expect(json["errors"][0]["message"]).to match(/Invalid credentials/)
43
43
  end
44
44
  end
45
45
  end
46
46
  end
47
- end
47
+ end
@@ -7,40 +7,40 @@ module Ctws
7
7
  let(:valid_attributes) do
8
8
  attributes_for(:ctws_user, email: ctws_user.email, password_confirmation: ctws_user.password_confirmation)
9
9
  end
10
-
10
+
11
11
  # User signup test suite
12
12
  # http --form POST :3000/ctws/v1/signup email='hola@agusti.cat', password_confirmation: "123456"
13
13
  describe 'POST /ctws/v1/signup' do
14
14
  context 'when valid request' do
15
15
  before { post '/ctws/v1/signup', params: valid_attributes.to_json, headers: headers }
16
-
16
+
17
17
  it 'creates a new user' do
18
18
  expect(response).to have_http_status(201)
19
19
  end
20
-
20
+
21
21
  it 'returns success message' do
22
- expect(json["data"]["attributes"]["message"]).to match(/Account created successfully/)
22
+ expect(json["data"]["attributes"]["created_at"]).not_to be_nil
23
23
  end
24
-
24
+
25
25
  it 'returns an authentication token' do
26
26
  expect(json["data"]["attributes"]["auth_token"]).not_to be_nil
27
27
  end
28
28
  end
29
-
29
+
30
30
  context 'when invalid request' do
31
31
  before { post '/ctws/v1/signup', params: {}, headers: headers }
32
-
32
+
33
33
  it 'does not create a new user' do
34
34
  expect(response).to have_http_status(422)
35
35
  end
36
-
36
+
37
37
  it 'returns failure message' do
38
- expect(json["errors"]['message']).not_to be_nil
38
+ expect(json["errors"][0]['message']).not_to be_nil
39
39
  end
40
40
  end
41
41
  end
42
- end
42
+ end
43
43
  end
44
44
 
45
45
  # curl -X POST -H 'Content-Type: application/json' -F "email:agusti.br@coditramuntana.com" -F "password: 123456789" http://localhost:3000/ws/v1/signup
46
- # {"success":true,"data":{"message":"Account created successfully","auth_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJleHAiOjE0OTQ1MTY3NjR9.CWETXkwdlS8jhhu0RHYbYhcBdkpZw1ySoVMCTGgUL6g"}}%
46
+ # {"success":true,"data":{"message":"Account created successfully","auth_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJleHAiOjE0OTQ1MTY3NjR9.CWETXkwdlS8jhhu0RHYbYhcBdkpZw1ySoVMCTGgUL6g"}}%
@@ -2,7 +2,7 @@ ENV['RAILS_ENV'] ||= 'test'
2
2
 
3
3
  require File.expand_path("../../spec/dummy/config/environment.rb", __FILE__)
4
4
  require 'rspec/rails'
5
- require 'factory_girl_rails'
5
+ require 'factory_bot_rails'
6
6
  require 'shoulda-matchers'
7
7
  require 'faker'
8
8
  require 'database_cleaner'
@@ -24,4 +24,4 @@ RSpec.configure do |config|
24
24
  config.use_transactional_fixtures = true
25
25
  config.infer_base_class_for_anonymous_controllers = false
26
26
  config.order = "random"
27
- end
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ctws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3.beta
4
+ version: 0.3.0.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustí B.R.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-31 00:00:00.000000000 Z
11
+ date: 2019-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -101,19 +101,19 @@ dependencies:
101
101
  - !ruby/object:Gem::Version
102
102
  version: '3.6'
103
103
  - !ruby/object:Gem::Dependency
104
- name: factory_girl_rails
104
+ name: factory_bot_rails
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "~>"
107
+ - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: '4.8'
109
+ version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
- version: '4.8'
116
+ version: '0'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: shoulda-matchers
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -267,6 +267,7 @@ files:
267
267
  - spec/dummy/db/development.sqlite3
268
268
  - spec/dummy/db/migrate/20170622072636_create_users.rb
269
269
  - spec/dummy/db/schema.rb
270
+ - spec/dummy/db/test.sqlite3
270
271
  - spec/dummy/log/development.log
271
272
  - spec/dummy/log/test.log
272
273
  - spec/dummy/public/404.html
@@ -311,76 +312,77 @@ signing_key:
311
312
  specification_version: 4
312
313
  summary: Rails gem to be used as Webservice base.
313
314
  test_files:
314
- - spec/dummy/public/favicon.ico
315
- - spec/dummy/public/404.html
316
- - spec/dummy/public/422.html
317
- - spec/dummy/public/apple-touch-icon-precomposed.png
318
- - spec/dummy/public/apple-touch-icon.png
319
- - spec/dummy/public/500.html
320
- - spec/dummy/config/spring.rb
315
+ - spec/support/ctws/request_spec_helper.rb
316
+ - spec/support/ctws/controller_spec_helper.rb
317
+ - spec/dummy/db/migrate/20170622072636_create_users.rb
318
+ - spec/dummy/db/schema.rb
319
+ - spec/dummy/db/development.sqlite3
320
+ - spec/dummy/db/test.sqlite3
321
+ - spec/dummy/bin/rake
322
+ - spec/dummy/bin/setup
323
+ - spec/dummy/bin/update
324
+ - spec/dummy/bin/bundle
325
+ - spec/dummy/bin/rails
326
+ - spec/dummy/log/development.log
327
+ - spec/dummy/log/test.log
321
328
  - spec/dummy/config/puma.rb
322
329
  - spec/dummy/config/application.rb
330
+ - spec/dummy/config/cable.yml
331
+ - spec/dummy/config/environment.rb
332
+ - spec/dummy/config/database.yml
333
+ - spec/dummy/config/environments/development.rb
334
+ - spec/dummy/config/environments/production.rb
335
+ - spec/dummy/config/environments/test.rb
336
+ - spec/dummy/config/spring.rb
323
337
  - spec/dummy/config/routes.rb
324
- - spec/dummy/config/initializers/inflections.rb
325
- - spec/dummy/config/initializers/mime_types.rb
338
+ - spec/dummy/config/boot.rb
339
+ - spec/dummy/config/secrets.yml
340
+ - spec/dummy/config/initializers/cookies_serializer.rb
341
+ - spec/dummy/config/initializers/new_framework_defaults.rb
342
+ - spec/dummy/config/initializers/application_controller_renderer.rb
343
+ - spec/dummy/config/initializers/wrap_parameters.rb
326
344
  - spec/dummy/config/initializers/backtrace_silencers.rb
327
345
  - spec/dummy/config/initializers/session_store.rb
328
- - spec/dummy/config/initializers/wrap_parameters.rb
329
- - spec/dummy/config/initializers/new_framework_defaults.rb
330
346
  - spec/dummy/config/initializers/assets.rb
331
- - spec/dummy/config/initializers/application_controller_renderer.rb
332
- - spec/dummy/config/initializers/cookies_serializer.rb
333
347
  - spec/dummy/config/initializers/filter_parameter_logging.rb
334
- - spec/dummy/config/database.yml
335
- - spec/dummy/config/boot.rb
336
- - spec/dummy/config/environment.rb
348
+ - spec/dummy/config/initializers/mime_types.rb
349
+ - spec/dummy/config/initializers/inflections.rb
337
350
  - spec/dummy/config/locales/en.yml
338
- - spec/dummy/config/cable.yml
339
- - spec/dummy/config/secrets.yml
340
- - spec/dummy/config/environments/test.rb
341
- - spec/dummy/config/environments/production.rb
342
- - spec/dummy/config/environments/development.rb
343
- - spec/dummy/log/development.log
344
- - spec/dummy/log/test.log
351
+ - spec/dummy/config.ru
352
+ - spec/dummy/Rakefile
353
+ - spec/dummy/public/500.html
354
+ - spec/dummy/public/apple-touch-icon.png
355
+ - spec/dummy/public/422.html
356
+ - spec/dummy/public/favicon.ico
357
+ - spec/dummy/public/404.html
358
+ - spec/dummy/public/apple-touch-icon-precomposed.png
359
+ - spec/dummy/app/jobs/application_job.rb
345
360
  - spec/dummy/app/views/layouts/application.html.erb
346
361
  - spec/dummy/app/views/layouts/mailer.text.erb
347
362
  - spec/dummy/app/views/layouts/mailer.html.erb
348
- - spec/dummy/app/helpers/user_helper.rb
349
- - spec/dummy/app/helpers/application_helper.rb
350
363
  - spec/dummy/app/mailers/application_mailer.rb
364
+ - spec/dummy/app/helpers/application_helper.rb
365
+ - spec/dummy/app/helpers/user_helper.rb
366
+ - spec/dummy/app/channels/application_cable/channel.rb
367
+ - spec/dummy/app/channels/application_cable/connection.rb
351
368
  - spec/dummy/app/assets/config/manifest.js
352
- - spec/dummy/app/assets/javascripts/application.js
353
369
  - spec/dummy/app/assets/javascripts/cable.js
370
+ - spec/dummy/app/assets/javascripts/application.js
354
371
  - spec/dummy/app/assets/stylesheets/application.css
355
- - spec/dummy/app/controllers/user_controller.rb
356
372
  - spec/dummy/app/controllers/application_controller.rb
357
- - spec/dummy/app/channels/application_cable/channel.rb
358
- - spec/dummy/app/channels/application_cable/connection.rb
359
- - spec/dummy/app/jobs/application_job.rb
360
- - spec/dummy/app/models/application_record.rb
373
+ - spec/dummy/app/controllers/user_controller.rb
361
374
  - spec/dummy/app/models/user.rb
362
- - spec/dummy/Rakefile
363
- - spec/dummy/bin/bundle
364
- - spec/dummy/bin/setup
365
- - spec/dummy/bin/rails
366
- - spec/dummy/bin/update
367
- - spec/dummy/bin/rake
368
- - spec/dummy/config.ru
369
- - spec/dummy/db/development.sqlite3
370
- - spec/dummy/db/migrate/20170622072636_create_users.rb
371
- - spec/dummy/db/schema.rb
372
- - spec/requests/ctws/users_spec.rb
373
- - spec/requests/ctws/min_app_version_spec.rb
374
- - spec/requests/ctws/authentication_spec.rb
375
+ - spec/dummy/app/models/application_record.rb
375
376
  - spec/spec_helper.rb
376
- - spec/auth/ctws/authenticate_user_spec.rb
377
- - spec/auth/ctws/authorize_api_request_spec.rb
378
- - spec/support/ctws/controller_spec_helper.rb
379
- - spec/support/ctws/request_spec_helper.rb
380
- - spec/rails_helper.rb
381
- - spec/factories/ctws_min_app_version.rb
382
377
  - spec/factories/ctws/ctws_user.rb
378
+ - spec/factories/ctws_min_app_version.rb
383
379
  - spec/controllers/ctws/users_controller_spec.rb
384
380
  - spec/controllers/ctws/ctws_controller_spec.rb
385
381
  - spec/models/ctws/min_app_version_spec.rb
386
382
  - spec/models/ctws/user_spec.rb
383
+ - spec/requests/ctws/users_spec.rb
384
+ - spec/requests/ctws/min_app_version_spec.rb
385
+ - spec/requests/ctws/authentication_spec.rb
386
+ - spec/rails_helper.rb
387
+ - spec/auth/ctws/authorize_api_request_spec.rb
388
+ - spec/auth/ctws/authenticate_user_spec.rb