jinda 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/generators/jinda/install_generator.rb +2 -0
- data/lib/generators/jinda/templates/app/assets/config/manifest.js +0 -0
- data/lib/generators/jinda/templates/app/assets/images/4dcity-old.ico +0 -0
- data/lib/generators/jinda/templates/app/assets/images/4dcity.ico +0 -0
- data/lib/generators/jinda/templates/app/assets/images/account.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/add.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/ajax-loader-circle.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/images/ajax-loader.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/images/anchor.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/application_double.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/application_form_edit.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_left.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_right.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_turn_left.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/arrow_turn_right.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/calendar.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/cancel.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/chart_bar.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/clock.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/cog.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/control_fastforward.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/control_play.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/cross.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/delete.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/external-link.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/facebooksmall.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/favicon.ico +0 -0
- data/lib/generators/jinda/templates/app/assets/images/freemind(mm).png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/help.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/highway-menu.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/highway.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/house.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-18-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-18-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-36-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/icons-36-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/logo.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/logo_jinda.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/logout.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/new.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/images/new.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_attach.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_green.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_output.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/page_pdf.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/pencil.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/printer.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/refresh.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/report.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/rssmall.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/tick.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/twittersmall.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/user.png +0 -0
- data/lib/generators/jinda/templates/app/assets/images/view_code.png +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js.bak +15 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/cable.js +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/application.js-jqm +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/disable_enter_key.js +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/iscroll-wrapper.js +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/iscroll.js +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jinda.js +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jquery.mobile-1.2.1.js +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jquery.mobile.datebox.js +0 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/jqm/jquery.mobile.splitview.js +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.bak +15 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/ajax-loader.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_blue.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/button_red.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-18-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-18-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-36-black.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/icons-36-white.png +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/images/indicator.gif +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/application.scss-jqm +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/articles.scss +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jinda.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile-1.2.1.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile.datebox.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile.grids.collapsible.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/jquery.mobile.splitview.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/kul-4.2.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/kul-4.2.min.css +0 -0
- data/lib/generators/jinda/templates/app/assets/stylesheets/jqm/sarabun.css +0 -0
- data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +0 -0
- data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/admins_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/application_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/application_controller.rb.bak +2 -0
- data/lib/generators/jinda/templates/app/controllers/comments_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/ctrs_controller.rb-gem-test +0 -0
- data/lib/generators/jinda/templates/app/controllers/devs_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/identities_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/password_resets.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/password_resets_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/sessions_controller.rb +8 -6
- data/lib/generators/jinda/templates/app/controllers/sitemap_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/controllers/users_controller.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/application_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/application_helper.rb.bak +2 -0
- data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/helpers/users_helper.rb +0 -0
- data/lib/generators/jinda/templates/app/jobs/application_job.rb +0 -0
- data/lib/generators/jinda/templates/app/mailers/application_mailer.rb +0 -0
- data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +0 -0
- data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +0 -0
- data/lib/generators/jinda/templates/app/models/address.rb +0 -0
- data/lib/generators/jinda/templates/app/models/ckeditor/asset.rb +0 -0
- data/lib/generators/jinda/templates/app/models/ckeditor/attachment_file.rb +0 -0
- data/lib/generators/jinda/templates/app/models/ckeditor/picture.rb +0 -0
- data/lib/generators/jinda/templates/app/models/identity.rb +0 -0
- data/lib/generators/jinda/templates/app/models/jinda/module.rb +0 -0
- data/lib/generators/jinda/templates/app/models/jinda/notice.rb +0 -0
- data/lib/generators/jinda/templates/app/models/jinda/role.rb +0 -0
- data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +0 -0
- data/lib/generators/jinda/templates/app/models/jinda/service.rb +0 -0
- data/lib/generators/jinda/templates/app/models/param.rb +0 -0
- data/lib/generators/jinda/templates/app/models/person.rb +0 -0
- data/lib/generators/jinda/templates/app/views/adminbsbs/content.haml +0 -0
- data/lib/generators/jinda/templates/app/views/admins/edit_role/edit_role.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/admins/edit_role/select_user.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile1.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile2.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/ctrs/vfolder2/viewfile2.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/custom/_adsense.haml +0 -0
- data/lib/generators/jinda/templates/app/views/identities/new.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/_activity.md +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/_model.md +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/_modul.md +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/_pending_home.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/_pending_page.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/_service.md +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/_static.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/doc-thai.md +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/doc.md +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/error_logs.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/help.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +1 -1
- data/lib/generators/jinda/templates/app/views/jinda/logs.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/pending.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/run_form.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/run_output.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/search.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda/status.haml +0 -0
- data/lib/generators/jinda/templates/app/views/jinda_mailer/gmail.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/_meta_tags.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/_metatag.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/application.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/application.html.erb.bak +15 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_rightbar.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/new.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/password_resets/edit.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/password_resets/new.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/sessions/new.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/sitemap/index.xml.haml +0 -0
- data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.html.haml +0 -0
- data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.erb +0 -0
- data/lib/generators/jinda/templates/app/views/user_mailer/password_reset.text.haml +0 -0
- data/lib/generators/jinda/templates/app/views/users/index.haml +0 -0
- data/lib/generators/jinda/templates/app/views/users/pwd/enter.html.erb +0 -0
- data/lib/generators/jinda/templates/app/views/users/user/enter_user.html.erb +0 -0
- data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +102 -0
- data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +23 -0
- data/lib/generators/jinda/templates/spec/models/user_spec.rbx +30 -0
- data/lib/generators/jinda/templates/spec/{helpers/rails_helper.rb → rails_helper.rb} +13 -4
- data/lib/generators/jinda/templates/spec/spec_helper.rb +114 -0
- data/lib/generators/jinda/templates/spec/support/factory_bot.rb +6 -0
- data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +35 -0
- data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +14 -0
- data/lib/jinda/version.rb +1 -1
- metadata +15 -8
- data/lib/generators/jinda/templates/spec/controllers/articles_controller_spec.rb +0 -155
- data/lib/generators/jinda/templates/spec/helpers/spec_helper.rb +0 -96
- data/lib/generators/jinda/templates/spec/models/user_spec.rb +0 -26
- data/lib/generators/jinda/templates/spec/requests/jinda_routes_spec.rb +0 -82
- data/lib/generators/jinda/templates/spec/requests/password_resets_spec.rb +0 -15
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Block270</title>
|
5
|
+
<%= csrf_meta_tags %>
|
6
|
+
<%= csp_meta_tag %>
|
7
|
+
|
8
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
9
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
|
10
|
+
</head>
|
11
|
+
|
12
|
+
<body>
|
13
|
+
<%= yield %>
|
14
|
+
</body>
|
15
|
+
</html>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# essions_controller_spec.rb
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe SessionsController do
|
5
|
+
|
6
|
+
describe "Google" do
|
7
|
+
|
8
|
+
before do
|
9
|
+
request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:google_oauth2]
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "#create" do
|
13
|
+
|
14
|
+
it "should successfully create a user" do
|
15
|
+
expect {
|
16
|
+
post :create, params: {provider: :google_oauth2}
|
17
|
+
}.to change{ Jinda::User.count }.by(1)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should successfully create a session" do
|
21
|
+
session[:user_id].should be_nil
|
22
|
+
post :create, params: {provider: :google_oauth2}
|
23
|
+
session[:user_id].should_not be_nil
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should redirect the user to the articles/my url" do
|
27
|
+
post :create, params: {provider: :google_oauth2}
|
28
|
+
response.should redirect_to articles_my_path
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "#destroy", js: true do
|
34
|
+
before do
|
35
|
+
post :create, params: {provider: :google_oauth2}
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should clear the session" do
|
39
|
+
session[:user_id].should_not be_nil
|
40
|
+
delete :destroy
|
41
|
+
session[:user_id].should be_nil
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should redirect to the home page" do
|
45
|
+
delete :destroy
|
46
|
+
# response.should redirect_to root_url
|
47
|
+
# https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
|
48
|
+
response.body.should include("window.location")
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe "Facebook" do
|
54
|
+
|
55
|
+
before do
|
56
|
+
request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:facebook]
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "#create" do
|
60
|
+
|
61
|
+
it "should successfully create a user" do
|
62
|
+
expect {
|
63
|
+
post :create, params: {provider: :facebook}
|
64
|
+
}.to change{ Jinda::User.count }.by(1)
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should successfully create a session" do
|
68
|
+
session[:user_id].should be_nil
|
69
|
+
post :create, params: {provider: :facebook}
|
70
|
+
session[:user_id].should_not be_nil
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should redirect the user to the articles/my url" do
|
74
|
+
post :create, params: {provider: :facebook}
|
75
|
+
response.should redirect_to articles_my_path
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
describe "#destroy", js: true do
|
81
|
+
before do
|
82
|
+
post :create, params: {provider: :facebook}
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should clear the session" do
|
86
|
+
session[:user_id].should_not be_nil
|
87
|
+
delete :destroy
|
88
|
+
session[:user_id].should be_nil
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should redirect to the home page" do
|
92
|
+
delete :destroy
|
93
|
+
# response.should redirect_to root_url
|
94
|
+
# https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
|
95
|
+
response.body.should include("window.location")
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.feature "Userlogins", type: :feature do
|
4
|
+
scenario "Admin User Sign In" do
|
5
|
+
visit "/sessions/new"
|
6
|
+
|
7
|
+
fill_in "User name", :with => "admin"
|
8
|
+
fill_in "Password", :with => "secret"
|
9
|
+
click_button "Sign In"
|
10
|
+
|
11
|
+
expect(page).to have_text("My Articles")
|
12
|
+
end
|
13
|
+
|
14
|
+
scenario "Google User Sign In" do
|
15
|
+
visit "/auth/google_oauth2"
|
16
|
+
expect(page).to have_text("My Articles")
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
# RSpec.describe "Jinda::User", :type => :model do
|
4
|
+
RSpec.describe "Jinda/User", :type => :model do
|
5
|
+
|
6
|
+
before(:all) do
|
7
|
+
@user1 = create "Jinda/User"
|
8
|
+
end
|
9
|
+
|
10
|
+
it "has a unique code name" do
|
11
|
+
user2 = build("Jinda/User", code: "tester", email: "tester@test.com")
|
12
|
+
expect(user2).to be_valid
|
13
|
+
end
|
14
|
+
|
15
|
+
it "is valid with valid attributes" do
|
16
|
+
expect(@user1).to be_valid
|
17
|
+
end
|
18
|
+
|
19
|
+
xit "is not valid without a code" do
|
20
|
+
user2 = build("Jinda/User", code: nil)
|
21
|
+
expect(user2).to_not be_valid
|
22
|
+
end
|
23
|
+
|
24
|
+
xit "is not valid without an email" do
|
25
|
+
user2 = build("Jinda/User", email: nil)
|
26
|
+
expect(user2).to_not be_valid
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
@@ -1,11 +1,12 @@
|
|
1
1
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
2
|
ENV['RAILS_ENV'] ||= 'test'
|
3
3
|
require File.expand_path('../../config/environment', __FILE__)
|
4
|
+
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } # Add this at top of file
|
4
5
|
# Prevent database truncation if the environment is production
|
5
6
|
abort("The Rails environment is running in production mode!") if Rails.env.production?
|
6
|
-
require 'spec_helper'
|
7
7
|
require 'rspec/rails'
|
8
|
-
require '
|
8
|
+
require 'spec_helper'
|
9
|
+
require 'support/factory_bot'
|
9
10
|
# Add additional requires below this line. Rails is not loaded until this point!
|
10
11
|
|
11
12
|
# Requires supporting ruby files with custom matchers and macros, etc, in
|
@@ -20,8 +21,8 @@ require 'capybara/rspec'
|
|
20
21
|
# of increasing the boot-up time by auto-requiring all files in the support
|
21
22
|
# directory. Alternatively, in the individual `*_spec.rb` files, manually
|
22
23
|
# require only the support files necessary.
|
23
|
-
#
|
24
|
-
|
24
|
+
# Enable all!
|
25
|
+
Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
|
25
26
|
|
26
27
|
RSpec.configure do |config|
|
27
28
|
# RSpec Rails can automatically mix in different behaviours to your tests
|
@@ -43,4 +44,12 @@ RSpec.configure do |config|
|
|
43
44
|
config.filter_rails_from_backtrace!
|
44
45
|
# arbitrary gems may also be filtered via:
|
45
46
|
# config.filter_gems_from_backtrace("gem name")
|
47
|
+
|
48
|
+
# Added to make factorybot work
|
49
|
+
FactoryBot.allow_class_lookup = false
|
50
|
+
config.include FactoryBot::Syntax::Methods
|
51
|
+
config.before do
|
52
|
+
FactoryBot.find_definitions
|
53
|
+
end
|
54
|
+
|
46
55
|
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# https://www.natashatherobot.com/rails-test-omniauth-sessions-controller/
|
2
|
+
# spec_helper.rb
|
3
|
+
require 'rubygems'
|
4
|
+
require 'capybara/rspec'
|
5
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
6
|
+
OmniAuth.config.test_mode = true
|
7
|
+
omniauth_hash = { 'provider' => 'google_oauth2',
|
8
|
+
'uid' => '105362273761620533373',
|
9
|
+
'info' => {
|
10
|
+
'name' => 'Kulsoft',
|
11
|
+
'email' => 'kulsoft.net@gmail.com',
|
12
|
+
'nickname' => 'kulsoft'
|
13
|
+
},
|
14
|
+
'extra' => {'raw_info' =>
|
15
|
+
{ 'location' => 'San Francisco',
|
16
|
+
'gravatar_id' => '123456789'
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
20
|
+
OmniAuth.config.add_mock(:google_oauth2, omniauth_hash)
|
21
|
+
|
22
|
+
omniauth_hash = { 'provider' => 'facebook',
|
23
|
+
'uid' => '105362273761620533373',
|
24
|
+
'info' => {
|
25
|
+
'name' => 'Peter Colling',
|
26
|
+
'email' => '1.0@kul.asia',
|
27
|
+
'nickname' => 'Peter C'
|
28
|
+
},
|
29
|
+
'extra' => {'raw_info' =>
|
30
|
+
{'location' => 'LA',
|
31
|
+
'gravatar_id' => '13'
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
OmniAuth.config.add_mock(:facebook, omniauth_hash)
|
36
|
+
|
37
|
+
|
38
|
+
###########################################################################################
|
39
|
+
# This file was generated by the `rails generate rspec:install` command. Conventionally, all
|
40
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
41
|
+
# The generated `.rspec` file contains `--require spec_helper` which will cause
|
42
|
+
# this file to always be loaded, without a need to explicitly require it in any
|
43
|
+
# files.
|
44
|
+
#
|
45
|
+
# Given that it is always loaded, you are encouraged to keep this file as
|
46
|
+
# light-weight as possible. Requiring heavyweight dependencies from this file
|
47
|
+
# will add to the boot time of your test suite on EVERY test run, even for an
|
48
|
+
# individual file that may not need all of that loaded. Instead, consider making
|
49
|
+
# a separate helper file that requires the additional dependencies and performs
|
50
|
+
# the additional setup, and require it from the spec files that actually need
|
51
|
+
# it.
|
52
|
+
#
|
53
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
54
|
+
RSpec.configure do |config|
|
55
|
+
# config.include SpecTestHelper, :type => :controller
|
56
|
+
config.expect_with :rspec do |expectations|
|
57
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
58
|
+
expectations.syntax = [:expect, :should]
|
59
|
+
end
|
60
|
+
config.mock_with :rspec do |mocks|
|
61
|
+
mocks.verify_partial_doubles = true
|
62
|
+
end
|
63
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
64
|
+
|
65
|
+
# https://github.com/DatabaseCleaner/database_cleaner #
|
66
|
+
|
67
|
+
config.use_transactional_fixtures = false
|
68
|
+
|
69
|
+
config.before(:suite) do
|
70
|
+
if config.use_transactional_fixtures?
|
71
|
+
raise(<<-MSG)
|
72
|
+
Delete line `config.use_transactional_fixtures = true` from rails_helper.rb
|
73
|
+
(or set it to false) to prevent uncommitted transactions being used in
|
74
|
+
JavaScript-dependent specs.
|
75
|
+
|
76
|
+
During testing, the app-under-test that the browser driver connects to
|
77
|
+
uses a different database connection to the database connection used by
|
78
|
+
the spec. The app's database connection would not be able to access
|
79
|
+
uncommitted transaction data setup over the spec's database connection.
|
80
|
+
MSG
|
81
|
+
end
|
82
|
+
DatabaseCleaner.clean_with(:truncation)
|
83
|
+
end
|
84
|
+
|
85
|
+
config.before(:each, :js => true) do
|
86
|
+
#DatabaseCleaner.strategy = :transaction
|
87
|
+
DatabaseCleaner.strategy = :truncation
|
88
|
+
end
|
89
|
+
|
90
|
+
config.before(:each, type: :feature) do
|
91
|
+
# :rack_test driver's Rack app under test shares database connection
|
92
|
+
# with the specs, so continue to use transaction strategy for speed.
|
93
|
+
driver_shares_db_connection_with_specs = Capybara.current_driver == :rack_test
|
94
|
+
|
95
|
+
unless driver_shares_db_connection_with_specs
|
96
|
+
# Driver is probably for an external browser with an app
|
97
|
+
# under test that does *not* share a database connection with the
|
98
|
+
# specs, so use truncation strategy.
|
99
|
+
# DatabaseCleaner.strategy = :truncation
|
100
|
+
DatabaseCleaner[:mongoid].strategy = :truncation
|
101
|
+
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
config.before(:each) do
|
106
|
+
DatabaseCleaner.start
|
107
|
+
end
|
108
|
+
|
109
|
+
config.append_after(:each) do
|
110
|
+
DatabaseCleaner.clean
|
111
|
+
end
|
112
|
+
# https://github.com/DatabaseCleaner/database_cleaner #
|
113
|
+
|
114
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# in spec/support/omniauth_macro.rb
|
2
|
+
module OmniauthMacros
|
3
|
+
|
4
|
+
OmniAuth.config.test_mode = true
|
5
|
+
omniauth_hash = { 'provider' => 'google_oauth2',
|
6
|
+
'uid' => '105362273761620533373',
|
7
|
+
'info' => {
|
8
|
+
'name' => 'Kulsoft',
|
9
|
+
'email' => 'kulsoft.net@gmail.com',
|
10
|
+
'nickname' => 'kulsoft'
|
11
|
+
},
|
12
|
+
'extra' => {'raw_info' =>
|
13
|
+
{ 'location' => 'San Francisco',
|
14
|
+
'gravatar_id' => '123456789'
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
18
|
+
OmniAuth.config.add_mock(:google_oauth2, omniauth_hash)
|
19
|
+
|
20
|
+
omniauth_hash = { 'provider' => 'facebook',
|
21
|
+
'uid' => '105362273761620533373',
|
22
|
+
'info' => {
|
23
|
+
'name' => 'Peter Colling',
|
24
|
+
'email' => '1.0@kul.asia',
|
25
|
+
'nickname' => 'Peter C'
|
26
|
+
},
|
27
|
+
'extra' => {'raw_info' =>
|
28
|
+
{'location' => 'LA',
|
29
|
+
'gravatar_id' => '13'
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
OmniAuth.config.add_mock(:facebook, omniauth_hash)
|
34
|
+
end
|
35
|
+
|