jinda 0.7.7.4 → 1.0.0
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/README.md +46 -29
- data/Rakefile +103 -1
- data/app/assets/config/manifest.js +4 -1
- data/app/assets/javascripts/jinda_bootstrap.js +20 -0
- data/app/assets/stylesheets/_jinda_bootstrap_theme.scss +190 -0
- data/{lib/generators/jinda/templates/app/assets/stylesheets/jinda_jqm.css.scss → app/assets/stylesheets/jinda_bootstrap.css.scss} +12 -10
- data/app/config/routes.rb +38 -28
- data/app/controllers/concerns/jinda_general_concern.rb +86 -87
- data/app/controllers/concerns/jinda_run_concern.rb +184 -184
- data/app/controllers/jinda_controller.rb +23 -22
- data/bin/lint_modified +21 -0
- data/config/routes.rb +41 -22
- data/lib/generators/jinda/config_generator.rb +102 -81
- data/lib/generators/jinda/install_generator.rb +305 -148
- data/lib/generators/jinda/install_generator.rb.bak2 +268 -0
- data/lib/generators/jinda/installer/gems_install.rb +125 -127
- data/lib/generators/jinda/minitest_generator.rb +19 -18
- data/lib/generators/jinda/rspec_generator.rb +15 -14
- data/lib/generators/jinda/templates/DOCKER.md +188 -0
- data/lib/generators/jinda/templates/Dockerfile +15 -5
- data/lib/generators/jinda/templates/README.md +3 -3
- data/lib/generators/jinda/templates/app/assets/config/manifest.js +4 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js +8 -8
- data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +2 -0
- data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +2 -0
- data/{test/dummy → lib/generators/jinda/templates}/app/controllers/adminltes_controller.rb +1 -0
- data/lib/generators/jinda/templates/app/controllers/api/v1/notes_controller.rb +80 -78
- data/lib/generators/jinda/templates/app/controllers/jinda_org/admins_controller.rb +4 -2
- data/lib/generators/jinda/templates/app/controllers/jinda_org/application_controller.rb +11 -9
- data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +40 -44
- data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +10 -8
- data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +23 -24
- data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +3 -1
- data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +25 -27
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets_controller.rb +16 -18
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sessions_controller.rb +13 -14
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sitemap_controller.rb +4 -4
- data/lib/generators/jinda/templates/app/controllers/jinda_org/users_controller.rb +14 -14
- data/lib/generators/jinda/templates/app/controllers/mindmap_editor_controller.rb +74 -0
- data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/application_helper.rb +21 -20
- data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/mindmap_editor_helper.rb +3 -0
- data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/users_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/jinda/index.mm +276 -298
- data/lib/generators/jinda/templates/app/jinda/template/index.mm +1 -0
- data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +5 -3
- data/lib/generators/jinda/templates/app/mailers/note_mailer.rb +6 -4
- data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +5 -5
- data/lib/generators/jinda/templates/app/models/address.rb +10 -8
- data/lib/generators/jinda/templates/app/models/article.rb +8 -6
- data/lib/generators/jinda/templates/app/models/comment.rb +10 -8
- data/lib/generators/jinda/templates/app/models/identity.rb +11 -10
- data/lib/generators/jinda/templates/app/models/jinda/doc.rb +36 -33
- data/lib/generators/jinda/templates/app/models/jinda/jinda_module.rb +15 -0
- data/lib/generators/jinda/templates/app/models/jinda/module.rb +14 -10
- data/lib/generators/jinda/templates/app/models/jinda/notice.rb +15 -11
- data/lib/generators/jinda/templates/app/models/jinda/role.rb +11 -7
- data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +23 -20
- data/lib/generators/jinda/templates/app/models/jinda/service.rb +19 -15
- data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +42 -36
- data/lib/generators/jinda/templates/app/models/note.rb +14 -10
- data/lib/generators/jinda/templates/app/models/param.rb +23 -20
- data/lib/generators/jinda/templates/app/models/person.rb +9 -7
- data/lib/generators/jinda/templates/app/models/user.rb +42 -41
- data/lib/generators/jinda/templates/app/views/articles/show.html.haml +2 -2
- data/lib/generators/jinda/templates/app/views/identities/new.html.haml +13 -0
- data/lib/generators/jinda/templates/app/views/jinda/_static_bootstrap.haml +23 -0
- data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +15 -13
- data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +3 -2
- data/lib/generators/jinda/templates/app/views/layouts/application.haml +31 -4
- data/lib/generators/jinda/templates/app/views/layouts/lte/_header.haml +54 -0
- data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_sidebar.haml +1 -1
- data/lib/generators/jinda/templates/app/views/mindmap_editor/edit.html.haml +126 -0
- data/lib/generators/jinda/templates/app/views/mindmap_editor/save.html.haml +2 -0
- data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +13 -0
- data/lib/generators/jinda/templates/bin/lint_modified +21 -0
- data/lib/generators/jinda/templates/config/mongoid.yml +3 -3
- data/lib/generators/jinda/templates/config/mongoid.yml-docker +3 -3
- data/lib/generators/jinda/templates/config/mongoid.yml-localhost +3 -3
- data/lib/generators/jinda/templates/docker-compose-mongodb.yml +13 -0
- data/lib/generators/jinda/templates/docker-compose-web.yml +36 -0
- data/lib/generators/jinda/templates/docker-compose.yml +10 -14
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +15 -14
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +9 -4
- data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +4 -3
- data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +82 -90
- data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +12 -15
- data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +5 -8
- data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +3 -5
- data/lib/generators/jinda/templates/spec/models/note_spec.rb +36 -35
- data/lib/generators/jinda/templates/spec/models/user_spec.rb +10 -8
- data/lib/generators/jinda/templates/spec/rails_helper.rb +29 -31
- data/lib/generators/jinda/templates/spec/spec_helper.rb +19 -17
- data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +8 -7
- data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +3 -1
- data/lib/generators/jinda/templates/spec/support/factory_bot.rb +7 -5
- data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +14 -19
- data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +3 -1
- data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +9 -8
- data/lib/generators/jinda/templates/test/application_system_test_case.rb +3 -1
- data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +16 -21
- data/lib/generators/jinda/templates/test/test_helper.rb +7 -3
- data/lib/jinda/date_helpers.rb +50 -41
- data/lib/jinda/gem_helpers.rb +10 -8
- data/lib/jinda/gen_class.rb +14 -12
- data/lib/jinda/gen_controller.rb +9 -8
- data/lib/jinda/gen_freemind.rb +33 -32
- data/lib/jinda/gen_helpers.rb +146 -139
- data/lib/jinda/gen_models.rb +125 -131
- data/lib/jinda/gen_modules.rb +21 -16
- data/lib/jinda/gen_runseq.rb +71 -67
- data/lib/jinda/gen_services.rb +74 -80
- data/lib/jinda/gen_xmain.rb +38 -36
- data/lib/jinda/get_app.rb +31 -29
- data/lib/jinda/helpers.rb +4 -4
- data/lib/jinda/init_vars.rb +41 -36
- data/lib/jinda/mindmap_converter.rb +196 -0
- data/lib/jinda/railtie.rb +10 -2
- data/lib/jinda/rake_views.rb +61 -60
- data/lib/jinda/refresh.rb +67 -61
- data/lib/jinda/themes.rb +80 -60
- data/lib/jinda/version.rb +3 -1
- data/lib/jinda.rb +2 -0
- data/lib/tasks/jinda.rake +25 -22
- data/test/INTEGRATION_TEST_README.md +374 -0
- data/test/LOCAL_DEVELOPMENT.md +345 -0
- data/test/README.md +243 -0
- data/test/TEST_INFRASTRUCTURE.md +412 -0
- data/test/TEST_INSTALLATION_SH_FIXES.md +205 -0
- data/test/UNIT_TESTS_README.md +366 -0
- data/test/api_notes_controller_test.rb +231 -0
- data/test/dummy/DOCKER.md +188 -0
- data/test/dummy/Dockerfile +15 -7
- data/test/dummy/Gemfile +38 -29
- data/test/dummy/Gemfile.lock +671 -292
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/channels/application_cable/channel.rb +2 -0
- data/test/dummy/app/channels/application_cable/connection.rb +2 -0
- data/test/dummy/app/controllers/admins_controller.rb +4 -2
- data/test/dummy/app/controllers/api/v1/notes_controller.rb +80 -78
- data/test/dummy/app/controllers/application_controller.rb +11 -9
- data/test/dummy/app/controllers/articles_controller.rb +40 -44
- data/test/dummy/app/controllers/comments_controller.rb +10 -8
- data/test/dummy/app/controllers/ctrs_controller.rb +2 -0
- data/test/dummy/app/controllers/devs_controller.rb +2 -0
- data/test/dummy/app/controllers/docs_controller.rb +23 -24
- data/test/dummy/app/controllers/identities_controller.rb +3 -1
- data/test/dummy/app/controllers/mindmap_editor_controller.rb +74 -0
- data/test/dummy/app/controllers/notes_controller.rb +25 -27
- data/test/dummy/app/controllers/password_resets_controller.rb +16 -18
- data/test/dummy/app/controllers/sessions_controller.rb +13 -14
- data/test/dummy/app/controllers/sitemap_controller.rb +4 -4
- data/test/dummy/app/controllers/users_controller.rb +14 -14
- data/test/dummy/app/helpers/admins_helper.rb +2 -0
- data/test/dummy/app/helpers/application_helper.rb +21 -20
- data/test/dummy/app/helpers/articles_helper.rb +2 -0
- data/test/dummy/app/helpers/basic_helper.rb +2 -0
- data/test/dummy/app/helpers/comments_helper.rb +2 -0
- data/test/dummy/app/helpers/ctrs_helper.rb +2 -0
- data/test/dummy/app/helpers/devs_helper.rb +2 -0
- data/test/dummy/app/helpers/mindmap_editor_helper.rb +3 -0
- data/test/dummy/app/helpers/pictures_helper.rb +2 -0
- data/test/dummy/app/helpers/sitemap_helper.rb +2 -0
- data/test/dummy/app/helpers/users_helper.rb +2 -0
- data/test/dummy/app/jinda/index.mm +384 -486
- data/test/dummy/app/jinda/template/index.mm +1 -0
- data/test/dummy/app/mailers/application_mailer.rb +2 -2
- data/test/dummy/app/mailers/application_mailer.rb-org +4 -0
- data/test/dummy/app/mailers/jinda_mailer.rb +5 -3
- data/test/dummy/app/mailers/note_mailer.rb +6 -4
- data/test/dummy/app/mailers/user_mailer.rb +5 -5
- data/test/dummy/app/models/address.rb +2 -0
- data/test/dummy/app/models/article.rb +2 -0
- data/test/dummy/app/models/comment.rb +3 -2
- data/test/dummy/app/models/identity.rb +11 -10
- data/test/dummy/app/models/jinda/doc.rb +36 -33
- data/test/dummy/app/models/jinda/jinda_module.rb +15 -0
- data/test/dummy/app/models/jinda/module.rb +14 -10
- data/test/dummy/app/models/jinda/notice.rb +15 -11
- data/test/dummy/app/models/jinda/role.rb +11 -7
- data/test/dummy/app/models/jinda/runseq.rb +23 -20
- data/test/dummy/app/models/jinda/service.rb +19 -15
- data/test/dummy/app/models/jinda/xmain.rb +42 -36
- data/test/dummy/app/models/note.rb +3 -8
- data/test/dummy/app/models/param.rb +23 -20
- data/test/dummy/app/models/person.rb +2 -0
- data/test/dummy/app/models/picture.rb +11 -0
- data/test/dummy/app/models/user.rb +42 -41
- data/test/dummy/app/views/admins/index.haml +21 -0
- data/test/dummy/app/views/api/v1/notes/delete/select_note.html.erb +21 -0
- data/test/dummy/app/views/api/v1/notes/edit/edit_note.html.erb +21 -0
- data/test/dummy/app/views/api/v1/notes/index.haml +21 -0
- data/test/dummy/app/views/api/v1/notes/new/new_note.html.erb +21 -0
- data/test/dummy/app/views/articles/show.html.haml +2 -2
- data/test/dummy/app/views/devs/index.haml +21 -0
- data/test/dummy/app/views/jinda/feed.rss.builder +15 -13
- data/test/dummy/app/views/jinda/index.html.haml +3 -2
- data/test/dummy/app/views/layouts/application.haml +2 -2
- data/test/dummy/app/views/mindmap_editor/edit.html.haml +126 -0
- data/test/dummy/app/views/mindmap_editor/save.html.haml +2 -0
- data/test/dummy/bin/docker-entrypoint +3 -0
- data/test/dummy/bin/lint_modified +21 -0
- data/test/dummy/bin/setup +1 -1
- data/test/dummy/config/application.rb +7 -2
- data/test/dummy/config/boot.rb +2 -1
- data/test/dummy/config/cable.yml +1 -1
- data/test/dummy/config/credentials.yml.enc +1 -1
- data/test/dummy/config/environments/development.rb +7 -1
- data/test/dummy/config/environments/production.rb +30 -26
- data/test/dummy/config/environments/test.rb +12 -8
- data/test/dummy/config/initializers/content_security_policy.rb +2 -2
- data/test/dummy/config/initializers/filter_parameter_logging.rb +3 -3
- data/test/dummy/config/initializers/mindmap_converter.rb +5 -0
- data/test/dummy/config/initializers/mongoid.rb +24 -9
- data/test/dummy/config/initializers/omniauth.rb +5 -0
- data/test/dummy/config/initializers/permissions_policy.rb +11 -9
- data/test/dummy/config/locales/en.yml +11 -13
- data/test/dummy/config/mongoid.yml +172 -53
- data/test/dummy/config/mongoid.yml-docker +3 -3
- data/test/dummy/config/mongoid.yml-localhost +3 -3
- data/test/dummy/config/puma.rb +21 -20
- data/test/dummy/config/routes.rb +7 -1
- data/test/dummy/docker-compose-mongodb.yml +13 -0
- data/test/dummy/docker-compose-web.yml +36 -0
- data/test/dummy/docker-compose.yml +10 -18
- data/test/dummy/log/development.log +5834 -2261
- data/test/dummy/spec/controllers/api/v1_get_index_spec.rb +15 -14
- data/test/dummy/spec/controllers/api/v1_get_my_spec.rb +9 -4
- data/test/dummy/spec/controllers/api/v1_post_spec.rb +4 -3
- data/test/dummy/spec/controllers/sessions_controller_spec.rb +82 -90
- data/test/dummy/spec/factories/pictures.rb +5 -0
- data/test/dummy/spec/features/userlogins_spec.rb +12 -15
- data/test/dummy/spec/mailers/note_spec.rb +5 -8
- data/test/dummy/spec/mailers/previews/note_preview.rb +3 -5
- data/test/dummy/spec/models/note_spec.rb +36 -35
- data/test/dummy/spec/models/picture_spec.rb +5 -0
- data/test/dummy/spec/models/user_spec.rb +10 -8
- data/test/dummy/spec/rails_helper.rb +29 -31
- data/test/dummy/spec/requests/ctrs_spec.rb +7 -0
- data/test/dummy/spec/requests/devs_spec.rb +7 -0
- data/test/dummy/spec/spec_helper.rb +19 -17
- data/test/dummy/spec/support/authentication_helper.rb +8 -7
- data/test/dummy/spec/support/databasecleaner.rb +3 -1
- data/test/dummy/spec/support/factory_bot.rb +7 -5
- data/test/dummy/spec/support/omniauth_macros.rb +14 -19
- data/test/dummy/spec/support/request_spec_helper.rb +3 -1
- data/test/dummy/spec/views/articles/_article.html.erb_spec.rbx +9 -8
- data/test/generated_app_test.rb +261 -0
- data/test/installation_test.rb +368 -0
- data/test/integration_test.rb +398 -0
- data/test/jenkins_stage_test.rb +182 -0
- data/test/note_model_test.rb +224 -0
- data/test/note_validation_integration_test.rb +292 -0
- data/test/run_unit_tests.sh +91 -0
- data/test/test_helper.rb +8 -16
- metadata +188 -60
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +0 -15
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets.rb +0 -28
- data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +0 -10
- data/lib/generators/jinda/templates/app/views/layouts/_meta_tag.html.erb +0 -19
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +0 -7
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +0 -147
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +0 -47
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +0 -34
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +0 -155
- data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +0 -47
- data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +0 -9
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +0 -33
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +0 -16
- data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +0 -4
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +0 -13
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +0 -3
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +0 -1
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +0 -1
- data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +0 -13
- data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +0 -31
- data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +0 -22
- data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +0 -22
- data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +0 -14
- data/test/dummy/Guardfile +0 -96
- data/test/dummy/app/controllers/application_controller.rb.bak +0 -2
- data/test/dummy/app/controllers/password_resets.rb +0 -28
- data/test/dummy/app/helpers/application_helper.rb.bak +0 -2
- data/test/dummy/app/views/identities/new-bak.html.haml +0 -32
- data/test/dummy/app/views/layouts/application.haml.bak +0 -4
- data/test/dummy/app/views/layouts/application.html.erb.bak +0 -15
- data/test/dummy/app/views/layouts/lte/_header.haml +0 -111
- data/test/dummy/app/views/layouts/lte/_rightbar.haml +0 -123
- data/test/dummy/app/views/sessions/new-bak.html.haml +0 -22
- data/test/dummy/config/initializers/fix_mongoid_generator.rb-org +0 -14
- data/test/dummy/tmp/development_secret.txt +0 -1
- data/test/integration/navigation_test.rb +0 -7
- data/test/jinda_test.rb +0 -7
- /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/application.scss +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/jinda.scss +0 -0
- /data/lib/generators/jinda/templates/app/mailers/{application_mailer.rb → application_mailer.rb-org} +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard1.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard2.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_flash.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_footer.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu_mm.haml +0 -0
- /data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_rightbar.haml +0 -0
|
@@ -1,23 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_helper'
|
|
2
4
|
# describe Api::V1::NotesController, '#index', type: :request do
|
|
3
5
|
RSpec.describe 'Notes API', type: :request do
|
|
4
|
-
|
|
6
|
+
# let(:notes) { create_list(:note,1)}
|
|
5
7
|
# let!(:notes) {Note.create(title: "dddd", body: "body")}
|
|
6
|
-
let!(:
|
|
7
|
-
|
|
8
|
+
let!(:admin_user) { User.create(code: 'admin', email: 'admin@example.com', role: 'Admin') }
|
|
9
|
+
let!(:note) { FactoryBot.create_list(:note, 9, user: admin_user) }
|
|
10
|
+
let(:note_id) { notes.first.id }
|
|
11
|
+
|
|
12
|
+
describe 'GET /api/v1/notes' do
|
|
13
|
+
before { get api_v1_notes_path }
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
expect(json).not_to be_empty
|
|
14
|
-
expect(json.size).to eq(9)
|
|
15
|
-
end
|
|
15
|
+
it 'returns notes size as expected' do
|
|
16
|
+
expect(json).not_to be_empty
|
|
17
|
+
expect(json.size).to eq(9)
|
|
18
|
+
end
|
|
16
19
|
|
|
17
20
|
it 'returns status code 200' do
|
|
18
21
|
expect(response).to have_http_status(:success)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
22
24
|
end
|
|
23
|
-
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_helper'
|
|
2
4
|
|
|
3
5
|
RSpec.describe 'Notes API', type: :request do
|
|
4
|
-
let!(:
|
|
5
|
-
|
|
6
|
+
let!(:admin_user) { User.create(code: 'admin', email: 'admin@example.com', role: 'Admin') }
|
|
7
|
+
let!(:note) { FactoryBot.create_list(:note, 9, user: admin_user) }
|
|
8
|
+
before do
|
|
9
|
+
allow_any_instance_of(Api::V1::NotesController).to receive(:current_ma_user).and_return(admin_user)
|
|
10
|
+
get api_v1_notes_my_path
|
|
11
|
+
end
|
|
6
12
|
|
|
7
13
|
it 'returns all notes' do
|
|
8
|
-
|
|
14
|
+
expect(json.size).to eq(9)
|
|
9
15
|
end
|
|
10
16
|
it 'returns status code 200' do
|
|
11
17
|
expect(response).to have_http_status(:success)
|
|
12
18
|
end
|
|
13
19
|
end
|
|
14
|
-
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
describe Api::V1::NotesController , type: :controller do
|
|
1
|
+
# frozen_string_literal: true
|
|
3
2
|
|
|
3
|
+
require 'rails_helper'
|
|
4
|
+
describe Api::V1::NotesController, type: :controller do
|
|
4
5
|
before do
|
|
5
6
|
create_and_sign_in_user
|
|
6
|
-
post :create
|
|
7
|
+
post :create, params: { body: 'test_body', title: 'test_title', user: User.first }
|
|
7
8
|
end
|
|
8
9
|
|
|
9
10
|
it 'returns the title' do
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
# sessions_controller_spec.rb
|
|
2
4
|
# 1. Set up the mock
|
|
3
5
|
# 2. Make the request
|
|
@@ -5,94 +7,84 @@
|
|
|
5
7
|
# require 'spec_helper'
|
|
6
8
|
require 'rails_helper'
|
|
7
9
|
describe SessionsController, type: :controller do
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
delete :destroy
|
|
89
|
-
# response.should redirect_to root_url
|
|
90
|
-
# https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
|
|
91
|
-
response.body.should include("window.location")
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
|
|
10
|
+
describe 'Google' do
|
|
11
|
+
before do
|
|
12
|
+
@request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:google_oauth2]
|
|
13
|
+
visit '/auth/google_oauth2'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
describe '#create' do
|
|
17
|
+
it 'should successfully create a session' do
|
|
18
|
+
session[:user_id].should be_nil
|
|
19
|
+
post :create, params: { provider: :google_oauth2 }
|
|
20
|
+
session[:user_id].should_not be_nil
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should redirect the user to root_path ' do
|
|
24
|
+
post :create, params: { provider: :google_oauth2 }
|
|
25
|
+
response.should redirect_to root_path
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# describe "#destroy", js: true do
|
|
30
|
+
describe '#destroy' do
|
|
31
|
+
before do
|
|
32
|
+
post :create, params: { provider: :google_oauth2 }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'should clear the session' do
|
|
36
|
+
session[:user_id].should_not be_nil
|
|
37
|
+
delete :destroy
|
|
38
|
+
session[:user_id].should be_nil
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it 'should redirect to the home page' do
|
|
42
|
+
delete :destroy
|
|
43
|
+
# response.should redirect_to root_url
|
|
44
|
+
# https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
|
|
45
|
+
response.body.should include('window.location')
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
skip describe 'Facebook' do
|
|
51
|
+
# skip or finish at config facebook
|
|
52
|
+
|
|
53
|
+
before do
|
|
54
|
+
@request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:facebook]
|
|
55
|
+
visit '/auth/facebook'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
describe '#create' do
|
|
59
|
+
it 'should successfully create a session' do
|
|
60
|
+
session[:user_id].should be_nil
|
|
61
|
+
post :create, params: { provider: :facebook }
|
|
62
|
+
session[:user_id].should_not be_nil
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it 'should redirect the user to the articles/my url' do
|
|
66
|
+
post :create, params: { provider: :facebook }
|
|
67
|
+
response.should redirect_to articles_my_path
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
describe '#destroy' do
|
|
72
|
+
before do
|
|
73
|
+
post :create, params: { provider: :facebook }
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
it 'should clear the session' do
|
|
77
|
+
session[:user_id].should_not be_nil
|
|
78
|
+
delete :destroy
|
|
79
|
+
session[:user_id].should be_nil
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
it 'should redirect to the home page' do
|
|
83
|
+
delete :destroy
|
|
84
|
+
# response.should redirect_to root_url
|
|
85
|
+
# https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
|
|
86
|
+
response.body.should include('window.location')
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
96
90
|
end
|
|
97
|
-
|
|
98
|
-
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_helper'
|
|
2
4
|
|
|
3
|
-
RSpec.feature
|
|
4
|
-
scenario
|
|
5
|
-
skip visit
|
|
5
|
+
RSpec.feature 'Userlogins', type: :feature do
|
|
6
|
+
scenario 'Admin User Sign In' do
|
|
7
|
+
skip visit '/sessions/new'
|
|
6
8
|
|
|
7
|
-
fill_in
|
|
8
|
-
fill_in
|
|
9
|
-
click_button
|
|
9
|
+
fill_in 'User name', with: 'admin'
|
|
10
|
+
fill_in 'Password', with: 'secret1'
|
|
11
|
+
click_button 'Sign In'
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
xexpect(page).to have_text('My Articles')
|
|
12
14
|
end
|
|
13
15
|
|
|
14
|
-
scenario
|
|
15
|
-
visit
|
|
16
|
-
expect(page).to have_text(
|
|
16
|
+
scenario 'Google User Sign In' do
|
|
17
|
+
visit '/auth/google_oauth2'
|
|
18
|
+
expect(page).to have_text('Sign Out')
|
|
17
19
|
end
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
20
|
end
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
require 'rails_helper'
|
|
5
4
|
|
|
5
|
+
RSpec.describe NoteMailer do
|
|
6
6
|
describe 'gmail' do
|
|
7
|
-
|
|
8
|
-
let(:mail) {NoteMailer.gmail("Test Body", "receiver@email.com", "Test title", "from@example.com")}
|
|
9
|
-
|
|
7
|
+
let(:mail) { NoteMailer.gmail('Test Body', 'receiver@email.com', 'Test title', 'from@example.com') }
|
|
10
8
|
|
|
11
9
|
it 'renders the subject' do
|
|
12
10
|
expect(mail.subject).to eql('Test title')
|
|
@@ -19,6 +17,5 @@ RSpec.describe NoteMailer do
|
|
|
19
17
|
it 'renders the sender email' do
|
|
20
18
|
expect(mail.from).to eql(['from@example.com'])
|
|
21
19
|
end
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
end
|
|
24
21
|
end
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
# Preview all emails at http://localhost:3000/rails/mailers/note
|
|
2
4
|
class NotePreview < ActionMailer::Preview
|
|
3
|
-
|
|
4
5
|
# Preview this email at http://localhost:3000/rails/mailers/note/gmail
|
|
5
|
-
|
|
6
|
-
NoteMailer.gmail
|
|
7
|
-
end
|
|
8
|
-
|
|
6
|
+
delegate :gmail, to: :NoteMailer
|
|
9
7
|
end
|
|
@@ -1,41 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_helper'
|
|
2
4
|
|
|
3
5
|
RSpec.describe Note, type: :model do
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
6
|
+
let!(:admin_user) { User.create(code: 'admin', email: 'admin@example.com', role: 'Admin') }
|
|
7
|
+
|
|
8
|
+
describe 'Required only title (Maximum 30)' do
|
|
9
|
+
it 'valid with both title and body' do
|
|
10
|
+
before_count = Note.count
|
|
11
|
+
Note.create(title: 'dddd', body: 'body', user: admin_user)
|
|
12
|
+
expect(Note.count).not_to eq(before_count)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'valid with only title' do
|
|
16
|
+
before_count = Note.count
|
|
17
|
+
Note.create(title: 'Title', user: admin_user)
|
|
18
|
+
expect(Note.count).not_to eq(before_count)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'invalid with only body' do
|
|
22
|
+
before_count = Note.count
|
|
23
|
+
Note.new(body: 'body', user: admin_user)
|
|
24
|
+
expect(Note.count).to eq(before_count)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'invalid body length more than 1000' do
|
|
28
|
+
before_count = Note.count
|
|
29
|
+
title_max = 'x' * 30
|
|
30
|
+
body_max = 'y' * 1001
|
|
31
|
+
Note.create(title: title_max, body: body_max, user: admin_user)
|
|
32
|
+
expect(Note.count).to eq(before_count)
|
|
33
|
+
end
|
|
31
34
|
end
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
describe 'title data blank' do
|
|
37
|
+
it 'auto fill from body' do
|
|
38
|
+
note = Note.create(title: '', body: 'Body content', user: admin_user)
|
|
39
|
+
note.title.should == 'Body content'
|
|
40
|
+
end
|
|
41
|
+
end
|
|
40
42
|
end
|
|
41
|
-
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_helper'
|
|
2
4
|
|
|
3
|
-
RSpec.describe
|
|
4
|
-
it
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
RSpec.describe 'User', type: :model do
|
|
6
|
+
it 'prevents duplicates ' do
|
|
7
|
+
user1 = create(:user, code: 'abc', email: 'test@email.com')
|
|
8
|
+
user2 = build(:user, code: 'abc', email: 'test@email.com')
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
user1.should be_valid
|
|
11
|
+
# user2.should be_valid
|
|
12
|
+
user2.should_not have_valid(:code)
|
|
13
|
+
end
|
|
12
14
|
end
|
|
@@ -1,42 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
|
2
4
|
ENV['RAILS_ENV'] ||= 'test'
|
|
3
|
-
require File.expand_path('
|
|
4
|
-
|
|
5
|
+
require File.expand_path('../config/environment', __dir__)
|
|
6
|
+
Rails.root.glob('spec/support/**/*.rb').each { |f| require f } # Add this at top of file
|
|
5
7
|
# Prevent database truncation if the environment is production
|
|
6
|
-
abort(
|
|
8
|
+
abort('The Rails environment is running in production mode!') if Rails.env.production?
|
|
7
9
|
require 'rspec/rails'
|
|
8
10
|
require 'spec_helper'
|
|
9
11
|
|
|
10
12
|
RSpec.configure do |config|
|
|
11
|
-
|
|
12
13
|
# Add create_and_sign_in_user
|
|
13
14
|
config.include AuthenticationHelper, type: :controller
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
16
|
+
# To include RequestSpecHelper
|
|
17
|
+
config.include RequestSpecHelper, type: :request
|
|
18
|
+
|
|
19
|
+
# config.infer_spec_type_from_file_location!
|
|
20
|
+
|
|
21
|
+
# Filter lines from Rails gems in backtraces.
|
|
22
|
+
config.filter_rails_from_backtrace!
|
|
23
|
+
# arbitrary gems may also be filtered via:
|
|
24
|
+
# config.filter_gems_from_backtrace("gem name")
|
|
25
|
+
|
|
26
|
+
# Added to make factorybot work
|
|
27
|
+
# FactoryBot.allow_class_lookup = false
|
|
28
|
+
config.use_transactional_fixtures = false
|
|
29
|
+
config.include FactoryBot::Syntax::Methods
|
|
30
|
+
config.before do
|
|
31
|
+
FactoryBot.find_definitions
|
|
32
|
+
end
|
|
33
|
+
# configure shoulda matchers to use rspec as the test framework and full matcher libraries for rails
|
|
34
|
+
Shoulda::Matchers.configure do |config|
|
|
35
|
+
config.integrate do |with|
|
|
36
|
+
with.test_framework :rspec
|
|
37
|
+
with.library :rails
|
|
38
|
+
end
|
|
39
|
+
end
|
|
42
40
|
end
|
|
@@ -1,36 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
# https://www.natashatherobot.com/rails-test-omniauth-sessions-controller/
|
|
2
4
|
# spec_helper.rb
|
|
3
5
|
require 'rubygems'
|
|
4
|
-
require 'capybara/rspec'
|
|
5
|
-
# Set up the mock
|
|
6
|
+
require 'capybara/rspec'
|
|
7
|
+
# Set up the mock
|
|
6
8
|
require 'support/omniauth_macros'
|
|
7
9
|
require 'valid_attribute'
|
|
8
10
|
|
|
9
11
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
|
10
12
|
RSpec.configure do |config|
|
|
11
|
-
|
|
13
|
+
config.filter_run focus: true
|
|
12
14
|
config.run_all_when_everything_filtered = true
|
|
13
15
|
|
|
14
16
|
# config.include SpecTestHelper, :type => :controller
|
|
15
17
|
config.expect_with :rspec do |expectations|
|
|
16
18
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
17
|
-
expectations.syntax
|
|
19
|
+
expectations.syntax = %i[expect should]
|
|
18
20
|
end
|
|
19
21
|
config.mock_with :rspec do |mocks|
|
|
20
22
|
mocks.verify_partial_doubles = true
|
|
21
23
|
end
|
|
22
24
|
config.shared_context_metadata_behavior = :apply_to_host_groups
|
|
23
25
|
|
|
24
|
-
# https://github.com/DatabaseCleaner/database_cleaner #
|
|
25
|
-
# config.use_transactional_fixtures = false
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
# https://github.com/DatabaseCleaner/database_cleaner #
|
|
27
|
+
# config.use_transactional_fixtures = false
|
|
28
|
+
# https://stackoverflow.com/questions/15148585/undefined-method-visit-when-using-rspec-and-capybara-in-rails
|
|
29
|
+
config.include Capybara::DSL
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
# https://stackoverflow.com/questions/21445164/set-chrome-as-default-browser-for-rspec-capybara/30551595
|
|
32
|
+
Capybara.register_driver :chrome do |app|
|
|
33
|
+
Capybara::Selenium::Driver.new(app, browser: :chrome)
|
|
34
|
+
end
|
|
35
|
+
Capybara.javascript_driver = :chrome
|
|
34
36
|
|
|
35
37
|
config.before(:suite) do
|
|
36
38
|
if config.use_transactional_fixtures?
|
|
@@ -45,11 +47,12 @@ RSpec.configure do |config|
|
|
|
45
47
|
uncommitted transaction data setup over the spec's database connection.
|
|
46
48
|
MSG
|
|
47
49
|
end
|
|
50
|
+
|
|
48
51
|
DatabaseCleaner.clean_with(:deletion)
|
|
49
52
|
end
|
|
50
53
|
|
|
51
|
-
config.before(:each, :
|
|
52
|
-
#DatabaseCleaner.strategy = :transaction
|
|
54
|
+
config.before(:each, js: true) do
|
|
55
|
+
# DatabaseCleaner.strategy = :transaction
|
|
53
56
|
DatabaseCleaner.strategy = :deletion
|
|
54
57
|
end
|
|
55
58
|
|
|
@@ -75,6 +78,5 @@ RSpec.configure do |config|
|
|
|
75
78
|
config.append_after(:each) do
|
|
76
79
|
DatabaseCleaner.clean
|
|
77
80
|
end
|
|
78
|
-
# https://github.com/DatabaseCleaner/database_cleaner #
|
|
79
|
-
|
|
81
|
+
# https://github.com/DatabaseCleaner/database_cleaner #
|
|
80
82
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module AuthenticationHelper
|
|
2
4
|
# controller return 1. Session 2. Cookies ==> user.id
|
|
3
5
|
def sign_in(user)
|
|
@@ -8,13 +10,12 @@ module AuthenticationHelper
|
|
|
8
10
|
def create_and_sign_in_user
|
|
9
11
|
user = FactoryBot.create(:user)
|
|
10
12
|
sign_in(user)
|
|
11
|
-
|
|
12
|
-
end
|
|
13
|
-
# from Jinda::Helpers
|
|
14
|
-
def current_ma_user
|
|
15
|
-
@user ||= User.where(:auth_token => user.auth_token)
|
|
16
|
-
return @user
|
|
13
|
+
user
|
|
17
14
|
end
|
|
18
15
|
|
|
16
|
+
# from Jinda::Helpers
|
|
17
|
+
def current_ma_user
|
|
18
|
+
@user ||= User.where(auth_token: user.auth_token)
|
|
19
|
+
@user
|
|
20
|
+
end
|
|
19
21
|
end
|
|
20
|
-
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
FactoryBot.define do
|
|
2
4
|
factory :user, class: 'User' do
|
|
3
|
-
code {Faker::Name.unique.name}
|
|
4
|
-
email {Faker::Internet.email}
|
|
5
|
-
role {
|
|
5
|
+
code { Faker::Name.unique.name }
|
|
6
|
+
email { Faker::Internet.email }
|
|
7
|
+
role { 'Admin' }
|
|
6
8
|
end
|
|
7
|
-
factory :note,
|
|
9
|
+
factory :note, class: 'Note' do
|
|
8
10
|
title { Faker::Lorem.sentence[0..29] }
|
|
9
11
|
body { Faker::Lorem.sentence[0..999] }
|
|
10
|
-
user
|
|
12
|
+
association :user
|
|
11
13
|
end
|
|
12
14
|
end
|