mumuki-laboratory 7.12.0 → 8.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/mumuki_laboratory/application/characters.js +3 -1
  3. data/app/assets/javascripts/mumuki_laboratory/application/gamification.js +89 -11
  4. data/app/assets/javascripts/mumuki_laboratory/application/kids.js +171 -333
  5. data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +144 -130
  6. data/app/assets/javascripts/mumuki_laboratory/application/mu-modal-carrousel.js +63 -0
  7. data/app/assets/javascripts/mumuki_laboratory/application/number-counter.js +18 -0
  8. data/app/assets/javascripts/mumuki_laboratory/application/primary.js +258 -0
  9. data/app/assets/javascripts/mumuki_laboratory/application/submission.js +1 -1
  10. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +117 -0
  11. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kindergarten.scss +47 -113
  12. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_terms.scss +9 -12
  13. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_profile.scss +31 -3
  14. data/app/controllers/api/courses_controller.rb +1 -2
  15. data/app/controllers/api/organizations_controller.rb +2 -3
  16. data/app/controllers/api/users_controller.rb +2 -4
  17. data/app/controllers/application_controller.rb +41 -8
  18. data/app/controllers/assets_controller.rb +1 -0
  19. data/app/controllers/book_discussions_controller.rb +1 -1
  20. data/app/controllers/chapters_controller.rb +1 -0
  21. data/app/controllers/discussions_controller.rb +4 -0
  22. data/app/controllers/exercises_controller.rb +1 -0
  23. data/app/controllers/guides_controller.rb +2 -0
  24. data/app/controllers/invitations_controller.rb +2 -2
  25. data/app/controllers/lessons_controller.rb +1 -0
  26. data/app/controllers/login_controller.rb +1 -0
  27. data/app/controllers/users_controller.rb +9 -1
  28. data/app/helpers/assistance_box_helper.rb +7 -5
  29. data/app/helpers/contextualization_result_helper.rb +9 -1
  30. data/app/helpers/gamification_helper.rb +5 -0
  31. data/app/helpers/links_helper.rb +1 -1
  32. data/app/views/exercise_solutions/_assistant_rules_box.html.erb +13 -0
  33. data/app/views/exercise_solutions/_contextualization_results_container.html.erb +9 -0
  34. data/app/views/exercise_solutions/_kids_level_up.html.erb +11 -0
  35. data/app/views/exercise_solutions/_kids_results.html.erb +1 -1
  36. data/app/views/exercise_solutions/_results.html.erb +19 -19
  37. data/app/views/exercise_solutions/_results_title.html.erb +5 -0
  38. data/app/views/exercises/show.html.erb +4 -1
  39. data/app/views/layouts/_kindergarten.html.erb +4 -4
  40. data/app/views/layouts/_organizations_listing.html.erb +8 -12
  41. data/app/views/layouts/application.html.erb +8 -2
  42. data/app/views/layouts/modals/_guide_corollary.html.erb +1 -1
  43. data/app/views/layouts/modals/_kids_context.html.erb +1 -1
  44. data/app/views/layouts/modals/_kids_results.html.erb +16 -6
  45. data/app/views/layouts/modals/_kindergarten_context.html.erb +15 -15
  46. data/app/views/layouts/modals/_kindergarten_results.html.erb +20 -7
  47. data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +10 -7
  48. data/app/views/layouts/modals/_level_up.html.erb +27 -0
  49. data/app/views/users/_edit_user_form.html.erb +1 -1
  50. data/app/views/users/_user_form.html.erb +12 -2
  51. data/app/views/users/terms.html.erb +12 -0
  52. data/config/routes.rb +8 -8
  53. data/lib/mumuki/laboratory.rb +18 -5
  54. data/lib/mumuki/laboratory/controllers.rb +2 -0
  55. data/lib/mumuki/laboratory/controllers/action_redirector.rb +21 -0
  56. data/lib/mumuki/laboratory/controllers/immersive_navigation.rb +7 -0
  57. data/lib/mumuki/laboratory/controllers/results_rendering.rb +1 -0
  58. data/lib/mumuki/laboratory/events/events.rb +0 -33
  59. data/lib/mumuki/laboratory/locales/en.yml +11 -0
  60. data/lib/mumuki/laboratory/locales/es-CL.yml +5 -0
  61. data/lib/mumuki/laboratory/locales/es.yml +12 -1
  62. data/lib/mumuki/laboratory/locales/pt.yml +11 -0
  63. data/lib/mumuki/laboratory/version.rb +1 -1
  64. data/spec/capybara_helper.rb +5 -1
  65. data/spec/controllers/exercise_solutions_controller_spec.rb +1 -1
  66. data/spec/features/immersive_redirection_spec.rb +181 -0
  67. data/spec/features/profile_flow_spec.rb +35 -3
  68. data/spec/features/terms_flow_spec.rb +155 -0
  69. metadata +108 -98
  70. data/app/helpers/organization_list_helper.rb +0 -5
  71. data/spec/features/choose_organization_spec.rb +0 -74
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mumuki-laboratory
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.12.0
4
+ version: 8.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franco Bulgarelli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-05 00:00:00.000000000 Z
11
+ date: 2020-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 7.12.0
33
+ version: 8.1.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 7.12.0
40
+ version: 8.1.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mumukit-bridge
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '1.22'
117
+ version: '1.23'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '1.22'
124
+ version: '1.23'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: muvment
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -371,11 +371,14 @@ files:
371
371
  - app/assets/javascripts/mumuki_laboratory/application/load-analytics.js
372
372
  - app/assets/javascripts/mumuki_laboratory/application/load-error-svg.js
373
373
  - app/assets/javascripts/mumuki_laboratory/application/messages.js
374
+ - app/assets/javascripts/mumuki_laboratory/application/mu-modal-carrousel.js
374
375
  - app/assets/javascripts/mumuki_laboratory/application/multiple-choice.js
375
376
  - app/assets/javascripts/mumuki_laboratory/application/multiple-files.js
376
377
  - app/assets/javascripts/mumuki_laboratory/application/multiple-scenarios.js
378
+ - app/assets/javascripts/mumuki_laboratory/application/number-counter.js
377
379
  - app/assets/javascripts/mumuki_laboratory/application/pin.js
378
380
  - app/assets/javascripts/mumuki_laboratory/application/popover.js
381
+ - app/assets/javascripts/mumuki_laboratory/application/primary.js
379
382
  - app/assets/javascripts/mumuki_laboratory/application/profile.js
380
383
  - app/assets/javascripts/mumuki_laboratory/application/progress.js
381
384
  - app/assets/javascripts/mumuki_laboratory/application/results-renderer.js
@@ -487,6 +490,7 @@ files:
487
490
  - app/helpers/editor_tabs_helper.rb
488
491
  - app/helpers/email_helper.rb
489
492
  - app/helpers/exercise_input_helper.rb
493
+ - app/helpers/gamification_helper.rb
490
494
  - app/helpers/globals_helper.rb
491
495
  - app/helpers/icons_helper.rb
492
496
  - app/helpers/kindergarten_helper.rb
@@ -497,7 +501,6 @@ files:
497
501
  - app/helpers/multiple_file_editor_helper.rb
498
502
  - app/helpers/open_graph_helper.rb
499
503
  - app/helpers/organization_breadcrumbs_helper.rb
500
- - app/helpers/organization_list_helper.rb
501
504
  - app/helpers/overlapped_buttons_helper.rb
502
505
  - app/helpers/page_title_helper.rb
503
506
  - app/helpers/profile_helper.rb
@@ -526,9 +529,11 @@ files:
526
529
  - app/views/errors/not_found.html.erb
527
530
  - app/views/errors/unauthorized.html.erb
528
531
  - app/views/exams/show.html.erb
532
+ - app/views/exercise_solutions/_assistant_rules_box.html.erb
529
533
  - app/views/exercise_solutions/_contextualization_results_body.html.erb
530
534
  - app/views/exercise_solutions/_contextualization_results_container.html.erb
531
535
  - app/views/exercise_solutions/_expectations.html.erb
536
+ - app/views/exercise_solutions/_kids_level_up.html.erb
532
537
  - app/views/exercise_solutions/_kids_results.html.erb
533
538
  - app/views/exercise_solutions/_kids_results_button.html.erb
534
539
  - app/views/exercise_solutions/_out_of_attempts.html.erb
@@ -603,6 +608,7 @@ files:
603
608
  - app/views/layouts/modals/_kindergarten_context.html.erb
604
609
  - app/views/layouts/modals/_kindergarten_results.html.erb
605
610
  - app/views/layouts/modals/_kindergarten_results_aborted.html.erb
611
+ - app/views/layouts/modals/_level_up.html.erb
606
612
  - app/views/layouts/modals/_new_message.html.erb
607
613
  - app/views/lessons/show.html.erb
608
614
  - app/views/messages/errors.html.erb
@@ -629,6 +635,7 @@ files:
629
635
  - config/routes.rb
630
636
  - lib/mumuki/laboratory.rb
631
637
  - lib/mumuki/laboratory/controllers.rb
638
+ - lib/mumuki/laboratory/controllers/action_redirector.rb
632
639
  - lib/mumuki/laboratory/controllers/authorization.rb
633
640
  - lib/mumuki/laboratory/controllers/content.rb
634
641
  - lib/mumuki/laboratory/controllers/current_organization.rb
@@ -636,6 +643,7 @@ files:
636
643
  - lib/mumuki/laboratory/controllers/dynamic_errors.rb
637
644
  - lib/mumuki/laboratory/controllers/embedded_mode.rb
638
645
  - lib/mumuki/laboratory/controllers/exercise_seed.rb
646
+ - lib/mumuki/laboratory/controllers/immersive_navigation.rb
639
647
  - lib/mumuki/laboratory/controllers/incognito_mode.rb
640
648
  - lib/mumuki/laboratory/controllers/nested_in_exercise.rb
641
649
  - lib/mumuki/laboratory/controllers/notifications.rb
@@ -726,7 +734,6 @@ files:
726
734
  - spec/dummy/public/medal/outline.svg
727
735
  - spec/evaluation_helper.rb
728
736
  - spec/features/chapter_spec.rb
729
- - spec/features/choose_organization_spec.rb
730
737
  - spec/features/complements_flow_spec.rb
731
738
  - spec/features/disable_user_flow_spec.rb
732
739
  - spec/features/disabled_organization_flow_spec.rb
@@ -738,6 +745,7 @@ files:
738
745
  - spec/features/guides_flow_spec.rb
739
746
  - spec/features/home_private_flow_spec.rb
740
747
  - spec/features/home_public_flow_spec.rb
748
+ - spec/features/immersive_redirection_spec.rb
741
749
  - spec/features/invitations_flow_spec.rb
742
750
  - spec/features/lessons_flow_spec.rb
743
751
  - spec/features/links_flow_spec.rb
@@ -749,6 +757,7 @@ files:
749
757
  - spec/features/progressive_tips_spec.rb
750
758
  - spec/features/runner_assets_spec.rb
751
759
  - spec/features/standard_flow_spec.rb
760
+ - spec/features/terms_flow_spec.rb
752
761
  - spec/features/topic_flow_spec.rb
753
762
  - spec/helpers/application_helper_spec.rb
754
763
  - spec/helpers/authors_helper_spec.rb
@@ -840,120 +849,121 @@ required_rubygems_version: !ruby/object:Gem::Requirement
840
849
  - !ruby/object:Gem::Version
841
850
  version: '0'
842
851
  requirements: []
843
- rubygems_version: 3.0.8
852
+ rubygems_version: 3.1.2
844
853
  signing_key:
845
854
  specification_version: 4
846
855
  summary: Code assement web application for the Mumuki Platform.
847
856
  test_files:
848
- - spec/mailers/previews/user_mailer_preview.rb
849
- - spec/mailers/user_mailer_spec.rb
857
+ - spec/javascripts/gamification-spec.js
858
+ - spec/javascripts/csrf-token-spec.js
859
+ - spec/javascripts/results-renderers-spec.js
860
+ - spec/javascripts/bridge-spec.js
861
+ - spec/javascripts/editors-spec.js
862
+ - spec/javascripts/spec-helper.js
863
+ - spec/javascripts/submissions-store-spec.js
864
+ - spec/javascripts/timeout-spec.js
865
+ - spec/javascripts/timer-spec.js
866
+ - spec/javascripts/events-spec.js
867
+ - spec/javascripts/exercise-spec.js
868
+ - spec/javascripts/speech-bubble-renderer-spec.js
869
+ - spec/javascripts/elipsis-spec.js
870
+ - spec/javascripts/sync-mode-spec.js
871
+ - spec/javascripts/global-spec.js
850
872
  - spec/spec_helper.rb
851
- - spec/teaspoon_env.rb
852
- - spec/features/guide_reset_spec.rb
853
- - spec/features/complements_flow_spec.rb
854
- - spec/features/not_found_public_flow_spec.rb
855
- - spec/features/standard_flow_spec.rb
856
- - spec/features/links_flow_spec.rb
857
- - spec/features/guides_flow_spec.rb
858
- - spec/features/profile_flow_spec.rb
859
- - spec/features/topic_flow_spec.rb
860
- - spec/features/chapter_spec.rb
861
- - spec/features/disabled_organization_flow_spec.rb
862
- - spec/features/runner_assets_spec.rb
863
- - spec/features/home_private_flow_spec.rb
864
- - spec/features/lessons_flow_spec.rb
865
- - spec/features/dynamic_exam_spec.rb
866
- - spec/features/discussion_flow_spec.rb
867
- - spec/features/not_found_private_flow_spec.rb
868
- - spec/features/progressive_tips_spec.rb
869
- - spec/features/exams_flow_spec.rb
870
- - spec/features/home_public_flow_spec.rb
871
- - spec/features/menu_bar_spec.rb
872
- - spec/features/exercise_flow_spec.rb
873
- - spec/features/choose_organization_spec.rb
874
- - spec/features/login_flow_spec.rb
875
- - spec/features/disable_user_flow_spec.rb
876
- - spec/features/invitations_flow_spec.rb
877
- - spec/dummy/Rakefile
878
- - spec/dummy/bin/yarn
879
- - spec/dummy/bin/update
880
- - spec/dummy/bin/rake
881
- - spec/dummy/bin/bundle
882
- - spec/dummy/bin/rails
883
- - spec/dummy/bin/setup
884
- - spec/dummy/public/character/animations.json
885
- - spec/dummy/public/medal/outline.svg
886
- - spec/dummy/public/error/timeout_2.svg
887
- - spec/dummy/public/error/timeout_3.svg
888
- - spec/dummy/public/error/401.svg
889
- - spec/dummy/public/error/500.svg
890
- - spec/dummy/public/error/404.svg
891
- - spec/dummy/public/error/410.svg
892
- - spec/dummy/public/error/403.svg
893
- - spec/dummy/public/error/timeout_1.svg
894
- - spec/dummy/config.ru
895
- - spec/dummy/db/schema.rb
896
- - spec/dummy/db/seeds.rb
897
- - spec/dummy/config/routes.rb
898
- - spec/dummy/config/environment.rb
873
+ - spec/dummy/config/locales/en.yml
899
874
  - spec/dummy/config/spring.rb
900
- - spec/dummy/config/cable.yml
875
+ - spec/dummy/config/database.travis.yml
901
876
  - spec/dummy/config/secrets.yml
877
+ - spec/dummy/config/puma.rb
878
+ - spec/dummy/config/environment.rb
902
879
  - spec/dummy/config/application.rb
880
+ - spec/dummy/config/database.yml
903
881
  - spec/dummy/config/rabbit.yml
904
882
  - spec/dummy/config/boot.rb
883
+ - spec/dummy/config/routes.rb
884
+ - spec/dummy/config/cable.yml
905
885
  - spec/dummy/config/environments/test.rb
906
886
  - spec/dummy/config/environments/development.rb
907
- - spec/dummy/config/locales/en.yml
908
- - spec/dummy/config/database.travis.yml
909
- - spec/dummy/config/puma.rb
910
887
  - spec/dummy/config/initializers/wrap_parameters.rb
911
- - spec/dummy/config/initializers/filter_parameter_logging.rb
912
888
  - spec/dummy/config/initializers/assets.rb
913
889
  - spec/dummy/config/initializers/cookies_serializer.rb
914
- - spec/dummy/config/database.yml
890
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
891
+ - spec/dummy/config.ru
892
+ - spec/dummy/public/medal/outline.svg
893
+ - spec/dummy/public/character/animations.json
894
+ - spec/dummy/public/error/403.svg
895
+ - spec/dummy/public/error/410.svg
896
+ - spec/dummy/public/error/timeout_3.svg
897
+ - spec/dummy/public/error/401.svg
898
+ - spec/dummy/public/error/500.svg
899
+ - spec/dummy/public/error/404.svg
900
+ - spec/dummy/public/error/timeout_2.svg
901
+ - spec/dummy/public/error/timeout_1.svg
902
+ - spec/dummy/bin/yarn
903
+ - spec/dummy/bin/rails
904
+ - spec/dummy/bin/setup
905
+ - spec/dummy/bin/update
906
+ - spec/dummy/bin/rake
907
+ - spec/dummy/bin/bundle
908
+ - spec/dummy/db/seeds.rb
909
+ - spec/dummy/db/schema.rb
915
910
  - spec/dummy/package.json
916
- - spec/login_helper.rb
911
+ - spec/dummy/Rakefile
912
+ - spec/evaluation_helper.rb
913
+ - spec/helpers/page_title_helper_spec.rb
914
+ - spec/helpers/test_results_rendering_spec.rb
917
915
  - spec/helpers/with_choices_spec.rb
918
- - spec/helpers/email_helper_spec.rb
919
916
  - spec/helpers/authors_helper_spec.rb
917
+ - spec/helpers/avatar_helper_spec.rb
918
+ - spec/helpers/icons_helper_spec.rb
919
+ - spec/helpers/email_helper_spec.rb
920
+ - spec/helpers/application_helper_spec.rb
920
921
  - spec/helpers/breadcrumbs_helper_spec.rb
921
922
  - spec/helpers/with_navigation_spec.rb
922
923
  - spec/helpers/exercise_input_helper_spec.rb
923
- - spec/helpers/avatar_helper_spec.rb
924
- - spec/helpers/test_results_rendering_spec.rb
925
- - spec/helpers/application_helper_spec.rb
926
- - spec/helpers/icons_helper_spec.rb
927
- - spec/helpers/page_title_helper_spec.rb
928
- - spec/api_helper.rb
929
- - spec/capybara_helper.rb
930
- - spec/evaluation_helper.rb
931
- - spec/javascripts/bridge-spec.js
932
- - spec/javascripts/events-spec.js
933
- - spec/javascripts/exercise-spec.js
934
- - spec/javascripts/global-spec.js
935
- - spec/javascripts/gamification-spec.js
936
- - spec/javascripts/speech-bubble-renderer-spec.js
937
- - spec/javascripts/timeout-spec.js
938
- - spec/javascripts/results-renderers-spec.js
939
- - spec/javascripts/csrf-token-spec.js
940
- - spec/javascripts/elipsis-spec.js
941
- - spec/javascripts/timer-spec.js
942
- - spec/javascripts/editors-spec.js
943
- - spec/javascripts/spec-helper.js
944
- - spec/javascripts/submissions-store-spec.js
945
- - spec/javascripts/sync-mode-spec.js
946
- - spec/controllers/discussions_controller_spec.rb
947
- - spec/controllers/chapters_controller_spec.rb
924
+ - spec/login_helper.rb
925
+ - spec/mailers/previews/user_mailer_preview.rb
926
+ - spec/mailers/user_mailer_spec.rb
927
+ - spec/controllers/guide_progress_controller_spec.rb
948
928
  - spec/controllers/students_api_controller_spec.rb
949
- - spec/controllers/courses_api_controller_spec.rb
950
- - spec/controllers/confirmations_controller_spec.rb
951
- - spec/controllers/api_clients_controller.rb
952
- - spec/controllers/invitations_controller_spec.rb
929
+ - spec/controllers/messages_controller_spec.rb
953
930
  - spec/controllers/users_api_controller_spec.rb
931
+ - spec/controllers/chapters_controller_spec.rb
954
932
  - spec/controllers/users_controller_spec.rb
955
933
  - spec/controllers/discussions_messages_controller_spec.rb
956
- - spec/controllers/guide_progress_controller_spec.rb
934
+ - spec/controllers/courses_api_controller_spec.rb
957
935
  - spec/controllers/organizations_api_controller_spec.rb
958
- - spec/controllers/messages_controller_spec.rb
936
+ - spec/controllers/api_clients_controller.rb
937
+ - spec/controllers/discussions_controller_spec.rb
959
938
  - spec/controllers/exercise_solutions_controller_spec.rb
939
+ - spec/controllers/confirmations_controller_spec.rb
940
+ - spec/controllers/invitations_controller_spec.rb
941
+ - spec/capybara_helper.rb
942
+ - spec/teaspoon_env.rb
943
+ - spec/features/disable_user_flow_spec.rb
944
+ - spec/features/invitations_flow_spec.rb
945
+ - spec/features/topic_flow_spec.rb
946
+ - spec/features/guide_reset_spec.rb
947
+ - spec/features/discussion_flow_spec.rb
948
+ - spec/features/links_flow_spec.rb
949
+ - spec/features/not_found_private_flow_spec.rb
950
+ - spec/features/not_found_public_flow_spec.rb
951
+ - spec/features/exercise_flow_spec.rb
952
+ - spec/features/standard_flow_spec.rb
953
+ - spec/features/menu_bar_spec.rb
954
+ - spec/features/dynamic_exam_spec.rb
955
+ - spec/features/immersive_redirection_spec.rb
956
+ - spec/features/runner_assets_spec.rb
957
+ - spec/features/progressive_tips_spec.rb
958
+ - spec/features/chapter_spec.rb
959
+ - spec/features/terms_flow_spec.rb
960
+ - spec/features/login_flow_spec.rb
961
+ - spec/features/home_public_flow_spec.rb
962
+ - spec/features/profile_flow_spec.rb
963
+ - spec/features/lessons_flow_spec.rb
964
+ - spec/features/disabled_organization_flow_spec.rb
965
+ - spec/features/complements_flow_spec.rb
966
+ - spec/features/exams_flow_spec.rb
967
+ - spec/features/guides_flow_spec.rb
968
+ - spec/features/home_private_flow_spec.rb
969
+ - spec/api_helper.rb
@@ -1,5 +0,0 @@
1
- module OrganizationListHelper
2
- def organizations_for(user)
3
- user.immersive_organizations_at(nil)
4
- end
5
- end
@@ -1,74 +0,0 @@
1
- require 'spec_helper'
2
-
3
- feature 'Choose organization Flow' do
4
-
5
- let(:user) { create(:user, permissions: {student: ''}) }
6
- let(:user2) { create(:user, permissions: {student: 'pdep/*'}) }
7
- let(:user3) { create(:user, permissions: {student: 'pdep/*:foo/*'}) }
8
- let(:user4) { create(:user, permissions: {student: 'immersive-orga/*'}) }
9
-
10
- before do
11
- %w(pdep central foo immersive-orga base).each do |it|
12
- create(:organization,
13
- name: it,
14
- book: create(:book,
15
- chapters: [create(:chapter, lessons: [create(:lesson)])],
16
- name: it,
17
- slug: "mumuki/mumuki-the-#{it}-book"))
18
- end
19
- end
20
-
21
- before { Organization.locate!('immersive-orga').update!(immersive: true) }
22
- before { Organization.locate!('central').update!(immersible: true) }
23
- before { set_current_user! user }
24
-
25
- context 'when organization exists' do
26
- before { Organization.central.switch! }
27
-
28
- scenario 'when visiting with implicit subdomain and no permissions' do
29
- set_subdomain_host! 'central'
30
-
31
- visit '/'
32
-
33
- expect(page).to have_text('Sign Out')
34
- expect(page).not_to have_text('Do you want to go there?')
35
- end
36
-
37
- scenario 'when visiting immersible orga with permissions to only one non-immersive organization' do
38
- set_current_user! user2
39
- set_subdomain_host! 'central'
40
-
41
- visit '/'
42
-
43
- expect(page).to have_text('Sign Out')
44
- expect(page).not_to have_text('Do you want to go there?')
45
- end
46
-
47
- scenario 'when visiting immersible orga with permissions to only one immersive organization', :navigation_error do
48
- set_current_user! user4
49
- set_subdomain_host! 'central'
50
-
51
- visit '/'
52
-
53
- expect(page).to have_text('Sign Out')
54
- expect(page).not_to have_text('Do you want to go there?')
55
- expect(page).to have_text('immersive-orga')
56
- end
57
-
58
- scenario 'when visiting immersible orga with permissions to many non-immersive organizations' do
59
- set_current_user! user3
60
- set_subdomain_host! 'central'
61
-
62
- visit '/'
63
-
64
- expect(page).to have_text('Sign Out')
65
- expect(page).not_to have_text('Do you want to go there?')
66
- end
67
- end
68
-
69
- scenario 'when organization does not exist', :http_response_headers do
70
- visit '/'
71
-
72
- expect(page).to have_http_status(404)
73
- end
74
- end