mumuki-laboratory 8.0.0 → 8.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/mumuki_laboratory/application/gamification.js +89 -11
  3. data/app/assets/javascripts/mumuki_laboratory/application/kids.js +16 -4
  4. data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +9 -50
  5. data/app/assets/javascripts/mumuki_laboratory/application/mu-modal-carrousel.js +63 -0
  6. data/app/assets/javascripts/mumuki_laboratory/application/number-counter.js +18 -0
  7. data/app/assets/javascripts/mumuki_laboratory/application/primary.js +2 -1
  8. data/app/assets/javascripts/mumuki_laboratory/application/submission.js +1 -1
  9. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +117 -0
  10. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kindergarten.scss +45 -131
  11. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_terms.scss +9 -12
  12. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_profile.scss +31 -3
  13. data/app/controllers/application_controller.rb +40 -8
  14. data/app/controllers/assets_controller.rb +1 -0
  15. data/app/controllers/book_discussions_controller.rb +1 -1
  16. data/app/controllers/chapters_controller.rb +1 -0
  17. data/app/controllers/discussions_controller.rb +4 -0
  18. data/app/controllers/exercises_controller.rb +1 -0
  19. data/app/controllers/guides_controller.rb +2 -0
  20. data/app/controllers/invitations_controller.rb +1 -0
  21. data/app/controllers/lessons_controller.rb +1 -0
  22. data/app/controllers/login_controller.rb +1 -0
  23. data/app/controllers/users_controller.rb +8 -1
  24. data/app/helpers/assistance_box_helper.rb +7 -5
  25. data/app/helpers/gamification_helper.rb +5 -0
  26. data/app/helpers/links_helper.rb +1 -1
  27. data/app/views/exercise_solutions/_assistant_rules_box.html.erb +13 -0
  28. data/app/views/exercise_solutions/_contextualization_results_container.html.erb +9 -0
  29. data/app/views/exercise_solutions/_kids_level_up.html.erb +11 -0
  30. data/app/views/exercise_solutions/_results.html.erb +19 -19
  31. data/app/views/exercise_solutions/_results_title.html.erb +5 -0
  32. data/app/views/exercises/show.html.erb +4 -1
  33. data/app/views/layouts/_kindergarten.html.erb +1 -1
  34. data/app/views/layouts/_organizations_listing.html.erb +8 -12
  35. data/app/views/layouts/application.html.erb +8 -2
  36. data/app/views/layouts/modals/_guide_corollary.html.erb +1 -1
  37. data/app/views/layouts/modals/_kids_context.html.erb +1 -1
  38. data/app/views/layouts/modals/_kids_results.html.erb +16 -6
  39. data/app/views/layouts/modals/_kindergarten_context.html.erb +15 -15
  40. data/app/views/layouts/modals/_kindergarten_results.html.erb +20 -7
  41. data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +4 -4
  42. data/app/views/layouts/modals/_level_up.html.erb +27 -0
  43. data/app/views/users/_edit_user_form.html.erb +1 -1
  44. data/app/views/users/_user_form.html.erb +12 -2
  45. data/app/views/users/terms.html.erb +12 -0
  46. data/config/routes.rb +8 -8
  47. data/lib/mumuki/laboratory.rb +18 -5
  48. data/lib/mumuki/laboratory/controllers.rb +2 -0
  49. data/lib/mumuki/laboratory/controllers/action_redirector.rb +21 -0
  50. data/lib/mumuki/laboratory/controllers/immersive_navigation.rb +7 -0
  51. data/lib/mumuki/laboratory/controllers/results_rendering.rb +1 -0
  52. data/lib/mumuki/laboratory/events/events.rb +0 -9
  53. data/lib/mumuki/laboratory/locales/en.yml +5 -0
  54. data/lib/mumuki/laboratory/locales/es-CL.yml +5 -0
  55. data/lib/mumuki/laboratory/locales/es.yml +5 -0
  56. data/lib/mumuki/laboratory/locales/pt.yml +5 -0
  57. data/lib/mumuki/laboratory/version.rb +1 -1
  58. data/spec/capybara_helper.rb +5 -1
  59. data/spec/controllers/exercise_solutions_controller_spec.rb +1 -1
  60. data/spec/features/immersive_redirection_spec.rb +181 -0
  61. data/spec/features/profile_flow_spec.rb +35 -3
  62. data/spec/features/terms_flow_spec.rb +151 -0
  63. metadata +110 -101
  64. data/app/helpers/organization_list_helper.rb +0 -5
  65. data/spec/features/choose_organization_spec.rb +0 -74
@@ -5,10 +5,9 @@ feature 'Profile Flow', organization_workspace: :test do
5
5
  let(:haskell) { create(:haskell) }
6
6
  let!(:chapter) {
7
7
  create(:chapter, name: 'Functional Programming', lessons: [
8
- build(:lesson, name: 'Values and Functions', language: haskell, description: 'Values are everywhere...', exercises: [
9
- build(:exercise, name: 'The Basic Values', description: "Let's say we want to declare a variable...")
10
- ])
8
+ build(:lesson, name: 'Values and Functions', language: haskell, description: 'Values are everywhere...', exercises: [exercise])
11
9
  ]) }
10
+ let(:exercise) { build(:exercise, name: 'The Basic Values', description: "Let's say we want to declare a variable...") }
12
11
  let(:problem) { create :problem}
13
12
  let(:message) {
14
13
  {'exercise_id' => problem.id,
@@ -71,6 +70,39 @@ feature 'Profile Flow', organization_workspace: :test do
71
70
  context 'logged in user' do
72
71
  before { set_current_user! user }
73
72
 
73
+ context 'user with uncompleted profile after saving' do
74
+ before { user.update! last_name: 'last_name', birthdate: Time.now - 20.years, gender: 'female' }
75
+
76
+ let(:button_options) do
77
+ # Match :first is used because there are two buttons: mobile and desktop.
78
+ { class: 'mu-edit-profile-btn', match: :first }.tap do |options|
79
+ options.merge!(disabled: true) unless run_with_selenium?
80
+ end
81
+ end
82
+
83
+ context 'when visiting an exercise' do
84
+ scenario 'is redirected to previous path' do
85
+ visit "/exercises/#{exercise.transparent_id}"
86
+ fill_in('user_first_name', with: 'first_name')
87
+
88
+ click_on(button_options)
89
+ expect(page).to have_text(exercise.description)
90
+ end
91
+ end
92
+
93
+ context 'when visiting profile edition' do
94
+ scenario 'is redirected to read only profile' do
95
+ visit "/user/edit"
96
+ fill_in('user_first_name', with: 'first_name')
97
+
98
+ # Match :first is used because there are two buttons: mobile and desktop.
99
+ click_on(button_options)
100
+ expect(page).to have_text('Your data was updated successfuly')
101
+ expect(page).to have_text('Profile')
102
+ end
103
+ end
104
+ end
105
+
74
106
  context 'with no messages' do
75
107
 
76
108
  scenario 'visit messages tab' do
@@ -0,0 +1,151 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Terms Flow', organization_workspace: :test do
4
+ let(:forum_terms_scopes) { Term::FORUM_RELATED }
5
+ let(:general_terms_scopes) { Term::GENERAL }
6
+ let(:role_terms_scopes) { Term::ROLE_SPECIFIC }
7
+
8
+ let(:all_terms_scopes) { forum_terms_scopes + general_terms_scopes + role_terms_scopes }
9
+ let!(:terms) { all_terms_scopes.map { |it| create(:term, scope: it, locale: Organization.current.locale) } }
10
+
11
+ let(:test_organization) { Organization.locate!("test") }
12
+
13
+ let!(:exercise) { create(:indexed_exercise) }
14
+ let(:expected_terms) { [] }
15
+ let(:unexpected_terms) { all_terms_scopes - expected_terms }
16
+
17
+ before { reindex_current_organization! }
18
+
19
+ shared_context 'has expected terms' do
20
+ scenario 'with expected terms' do
21
+ visit terms_path
22
+
23
+ expected_terms.each do |it|
24
+ expect(page).to have_text(Term.find_by(scope: it).content)
25
+ end
26
+
27
+ unexpected_terms.each do |it|
28
+ expect(page).not_to have_text(Term.find_by(scope: it).content)
29
+ end
30
+ end
31
+ end
32
+
33
+ context 'with student logged in' do
34
+ let(:student) { create(:user, uid: 'test@mumuki.org', permissions: {student: 'test/*'}) }
35
+
36
+ before { set_current_user! student }
37
+
38
+ describe 'visit user terms path' do
39
+ let(:terms_path) { '/user/terms' }
40
+ let(:expected_terms) { general_terms_scopes }
41
+
42
+ it_behaves_like 'has expected terms'
43
+ end
44
+
45
+ context 'visit forum' do
46
+ let(:terms_path) { '/discussions/terms' }
47
+
48
+ context 'with disabled forum' do
49
+
50
+ it_behaves_like 'has expected terms'
51
+ end
52
+
53
+ context 'with enabled forum' do
54
+ let(:expected_terms) { forum_terms_scopes }
55
+ before { test_organization.update! forum_enabled: true }
56
+
57
+ it_behaves_like 'has expected terms'
58
+ end
59
+ end
60
+ end
61
+
62
+ context 'with janitor logged in' do
63
+ let(:janitor) { create(:user, uid: 'test@mumuki.org', permissions: {student: 'test/*', janitor: 'other/*'}) }
64
+
65
+ before { set_current_user! janitor }
66
+
67
+ describe 'visit user terms path' do
68
+ let(:terms_path) { '/user/terms' }
69
+ let(:expected_terms) { general_terms_scopes + %w(janitor) }
70
+
71
+ it_behaves_like 'has expected terms'
72
+ end
73
+
74
+ context 'with accepted general terms' do
75
+ before { janitor.accept_profile_terms! }
76
+
77
+ context 'visit forum' do
78
+ let(:terms_path) { '/discussions/terms' }
79
+
80
+ context 'with enabled forum' do
81
+ let(:expected_terms) { forum_terms_scopes }
82
+ before { test_organization.update! forum_enabled: true }
83
+
84
+ it_behaves_like 'has expected terms'
85
+ end
86
+ end
87
+
88
+ scenario 'visit any other path' do
89
+ visit '/'
90
+
91
+ expect(page).to have_text('Start Practicing')
92
+ end
93
+ end
94
+
95
+ context 'with unaccepted general terms' do
96
+
97
+ context 'visit forum' do
98
+ let(:terms_path) { '/discussions/terms' }
99
+ before { test_organization.update! forum_enabled: true }
100
+
101
+ scenario 'with enabled forum' do
102
+ visit '/'
103
+
104
+ expect(page).to have_text('Accept terms')
105
+ end
106
+ end
107
+
108
+ scenario 'visit any other path' do
109
+ visit '/'
110
+
111
+ expect(page).to have_text('Accept terms')
112
+ end
113
+
114
+ scenario 'visit user path' do
115
+ visit '/user'
116
+
117
+ expect(page).to have_text(janitor.first_name)
118
+ end
119
+ end
120
+ end
121
+
122
+ context 'without user logged in' do
123
+ describe 'visit user terms path' do
124
+ let(:terms_path) { '/user/terms' }
125
+ let(:expected_terms) { general_terms_scopes }
126
+
127
+ it_behaves_like 'has expected terms'
128
+ end
129
+
130
+ scenario 'visit any other path' do
131
+ visit '/'
132
+
133
+ expect(page).to have_text('Start Practicing')
134
+ end
135
+
136
+ context 'visit forum' do
137
+ let(:terms_path) { '/discussions/terms' }
138
+
139
+ context 'with enabled forum' do
140
+ before { test_organization.update! forum_enabled: true }
141
+
142
+ scenario 'visit forum' do
143
+ visit '/discussions/terms'
144
+ expect(page).to have_text('You may have mistyped the address or the page may have moved')
145
+ end
146
+ end
147
+ end
148
+ end
149
+
150
+ end
151
+
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: 8.0.0
4
+ version: 8.1.0
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-20 00:00:00.000000000 Z
11
+ date: 2020-12-03 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: 8.0.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: 8.0.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,9 +371,11 @@ 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
379
381
  - app/assets/javascripts/mumuki_laboratory/application/primary.js
@@ -488,6 +490,7 @@ files:
488
490
  - app/helpers/editor_tabs_helper.rb
489
491
  - app/helpers/email_helper.rb
490
492
  - app/helpers/exercise_input_helper.rb
493
+ - app/helpers/gamification_helper.rb
491
494
  - app/helpers/globals_helper.rb
492
495
  - app/helpers/icons_helper.rb
493
496
  - app/helpers/kindergarten_helper.rb
@@ -498,7 +501,6 @@ files:
498
501
  - app/helpers/multiple_file_editor_helper.rb
499
502
  - app/helpers/open_graph_helper.rb
500
503
  - app/helpers/organization_breadcrumbs_helper.rb
501
- - app/helpers/organization_list_helper.rb
502
504
  - app/helpers/overlapped_buttons_helper.rb
503
505
  - app/helpers/page_title_helper.rb
504
506
  - app/helpers/profile_helper.rb
@@ -527,9 +529,11 @@ files:
527
529
  - app/views/errors/not_found.html.erb
528
530
  - app/views/errors/unauthorized.html.erb
529
531
  - app/views/exams/show.html.erb
532
+ - app/views/exercise_solutions/_assistant_rules_box.html.erb
530
533
  - app/views/exercise_solutions/_contextualization_results_body.html.erb
531
534
  - app/views/exercise_solutions/_contextualization_results_container.html.erb
532
535
  - app/views/exercise_solutions/_expectations.html.erb
536
+ - app/views/exercise_solutions/_kids_level_up.html.erb
533
537
  - app/views/exercise_solutions/_kids_results.html.erb
534
538
  - app/views/exercise_solutions/_kids_results_button.html.erb
535
539
  - app/views/exercise_solutions/_out_of_attempts.html.erb
@@ -604,6 +608,7 @@ files:
604
608
  - app/views/layouts/modals/_kindergarten_context.html.erb
605
609
  - app/views/layouts/modals/_kindergarten_results.html.erb
606
610
  - app/views/layouts/modals/_kindergarten_results_aborted.html.erb
611
+ - app/views/layouts/modals/_level_up.html.erb
607
612
  - app/views/layouts/modals/_new_message.html.erb
608
613
  - app/views/lessons/show.html.erb
609
614
  - app/views/messages/errors.html.erb
@@ -630,6 +635,7 @@ files:
630
635
  - config/routes.rb
631
636
  - lib/mumuki/laboratory.rb
632
637
  - lib/mumuki/laboratory/controllers.rb
638
+ - lib/mumuki/laboratory/controllers/action_redirector.rb
633
639
  - lib/mumuki/laboratory/controllers/authorization.rb
634
640
  - lib/mumuki/laboratory/controllers/content.rb
635
641
  - lib/mumuki/laboratory/controllers/current_organization.rb
@@ -637,6 +643,7 @@ files:
637
643
  - lib/mumuki/laboratory/controllers/dynamic_errors.rb
638
644
  - lib/mumuki/laboratory/controllers/embedded_mode.rb
639
645
  - lib/mumuki/laboratory/controllers/exercise_seed.rb
646
+ - lib/mumuki/laboratory/controllers/immersive_navigation.rb
640
647
  - lib/mumuki/laboratory/controllers/incognito_mode.rb
641
648
  - lib/mumuki/laboratory/controllers/nested_in_exercise.rb
642
649
  - lib/mumuki/laboratory/controllers/notifications.rb
@@ -727,7 +734,6 @@ files:
727
734
  - spec/dummy/public/medal/outline.svg
728
735
  - spec/evaluation_helper.rb
729
736
  - spec/features/chapter_spec.rb
730
- - spec/features/choose_organization_spec.rb
731
737
  - spec/features/complements_flow_spec.rb
732
738
  - spec/features/disable_user_flow_spec.rb
733
739
  - spec/features/disabled_organization_flow_spec.rb
@@ -739,6 +745,7 @@ files:
739
745
  - spec/features/guides_flow_spec.rb
740
746
  - spec/features/home_private_flow_spec.rb
741
747
  - spec/features/home_public_flow_spec.rb
748
+ - spec/features/immersive_redirection_spec.rb
742
749
  - spec/features/invitations_flow_spec.rb
743
750
  - spec/features/lessons_flow_spec.rb
744
751
  - spec/features/links_flow_spec.rb
@@ -750,6 +757,7 @@ files:
750
757
  - spec/features/progressive_tips_spec.rb
751
758
  - spec/features/runner_assets_spec.rb
752
759
  - spec/features/standard_flow_spec.rb
760
+ - spec/features/terms_flow_spec.rb
753
761
  - spec/features/topic_flow_spec.rb
754
762
  - spec/helpers/application_helper_spec.rb
755
763
  - spec/helpers/authors_helper_spec.rb
@@ -841,120 +849,121 @@ required_rubygems_version: !ruby/object:Gem::Requirement
841
849
  - !ruby/object:Gem::Version
842
850
  version: '0'
843
851
  requirements: []
844
- rubygems_version: 3.0.8
852
+ rubygems_version: 3.0.3
845
853
  signing_key:
846
854
  specification_version: 4
847
855
  summary: Code assement web application for the Mumuki Platform.
848
856
  test_files:
849
- - spec/mailers/previews/user_mailer_preview.rb
850
- - spec/mailers/user_mailer_spec.rb
857
+ - spec/controllers/guide_progress_controller_spec.rb
858
+ - spec/controllers/discussions_controller_spec.rb
859
+ - spec/controllers/organizations_api_controller_spec.rb
860
+ - spec/controllers/chapters_controller_spec.rb
861
+ - spec/controllers/invitations_controller_spec.rb
862
+ - spec/controllers/messages_controller_spec.rb
863
+ - spec/controllers/courses_api_controller_spec.rb
864
+ - spec/controllers/confirmations_controller_spec.rb
865
+ - spec/controllers/students_api_controller_spec.rb
866
+ - spec/controllers/api_clients_controller.rb
867
+ - spec/controllers/exercise_solutions_controller_spec.rb
868
+ - spec/controllers/discussions_messages_controller_spec.rb
869
+ - spec/controllers/users_api_controller_spec.rb
870
+ - spec/controllers/users_controller_spec.rb
851
871
  - spec/spec_helper.rb
852
- - spec/teaspoon_env.rb
853
- - spec/features/guide_reset_spec.rb
872
+ - spec/api_helper.rb
873
+ - spec/mailers/user_mailer_spec.rb
874
+ - spec/mailers/previews/user_mailer_preview.rb
875
+ - spec/javascripts/elipsis-spec.js
876
+ - spec/javascripts/csrf-token-spec.js
877
+ - spec/javascripts/global-spec.js
878
+ - spec/javascripts/events-spec.js
879
+ - spec/javascripts/gamification-spec.js
880
+ - spec/javascripts/sync-mode-spec.js
881
+ - spec/javascripts/exercise-spec.js
882
+ - spec/javascripts/timer-spec.js
883
+ - spec/javascripts/editors-spec.js
884
+ - spec/javascripts/spec-helper.js
885
+ - spec/javascripts/speech-bubble-renderer-spec.js
886
+ - spec/javascripts/submissions-store-spec.js
887
+ - spec/javascripts/results-renderers-spec.js
888
+ - spec/javascripts/bridge-spec.js
889
+ - spec/javascripts/timeout-spec.js
890
+ - spec/helpers/avatar_helper_spec.rb
891
+ - spec/helpers/with_navigation_spec.rb
892
+ - spec/helpers/exercise_input_helper_spec.rb
893
+ - spec/helpers/authors_helper_spec.rb
894
+ - spec/helpers/with_choices_spec.rb
895
+ - spec/helpers/application_helper_spec.rb
896
+ - spec/helpers/breadcrumbs_helper_spec.rb
897
+ - spec/helpers/email_helper_spec.rb
898
+ - spec/helpers/page_title_helper_spec.rb
899
+ - spec/helpers/test_results_rendering_spec.rb
900
+ - spec/helpers/icons_helper_spec.rb
854
901
  - spec/features/complements_flow_spec.rb
902
+ - spec/features/progressive_tips_spec.rb
903
+ - spec/features/runner_assets_spec.rb
904
+ - spec/features/disable_user_flow_spec.rb
905
+ - spec/features/links_flow_spec.rb
855
906
  - spec/features/not_found_public_flow_spec.rb
856
907
  - spec/features/standard_flow_spec.rb
857
- - spec/features/links_flow_spec.rb
858
- - spec/features/guides_flow_spec.rb
859
- - spec/features/profile_flow_spec.rb
860
- - spec/features/topic_flow_spec.rb
861
- - spec/features/chapter_spec.rb
908
+ - spec/features/exercise_flow_spec.rb
862
909
  - spec/features/disabled_organization_flow_spec.rb
863
- - spec/features/runner_assets_spec.rb
910
+ - spec/features/immersive_redirection_spec.rb
911
+ - spec/features/topic_flow_spec.rb
864
912
  - spec/features/home_private_flow_spec.rb
865
- - spec/features/lessons_flow_spec.rb
866
- - spec/features/dynamic_exam_spec.rb
867
- - spec/features/discussion_flow_spec.rb
868
- - spec/features/not_found_private_flow_spec.rb
869
- - spec/features/progressive_tips_spec.rb
870
- - spec/features/exams_flow_spec.rb
913
+ - spec/features/profile_flow_spec.rb
871
914
  - spec/features/home_public_flow_spec.rb
872
915
  - spec/features/menu_bar_spec.rb
873
- - spec/features/exercise_flow_spec.rb
874
- - spec/features/choose_organization_spec.rb
875
- - spec/features/login_flow_spec.rb
876
- - spec/features/disable_user_flow_spec.rb
916
+ - spec/features/not_found_private_flow_spec.rb
917
+ - spec/features/chapter_spec.rb
918
+ - spec/features/discussion_flow_spec.rb
877
919
  - spec/features/invitations_flow_spec.rb
878
- - spec/dummy/Rakefile
879
- - spec/dummy/bin/yarn
880
- - spec/dummy/bin/update
881
- - spec/dummy/bin/rake
882
- - spec/dummy/bin/bundle
883
- - spec/dummy/bin/rails
884
- - spec/dummy/bin/setup
920
+ - spec/features/exams_flow_spec.rb
921
+ - spec/features/guides_flow_spec.rb
922
+ - spec/features/dynamic_exam_spec.rb
923
+ - spec/features/terms_flow_spec.rb
924
+ - spec/features/lessons_flow_spec.rb
925
+ - spec/features/login_flow_spec.rb
926
+ - spec/features/guide_reset_spec.rb
927
+ - spec/evaluation_helper.rb
928
+ - spec/login_helper.rb
929
+ - spec/dummy/db/seeds.rb
930
+ - spec/dummy/db/schema.rb
885
931
  - spec/dummy/public/character/animations.json
886
- - spec/dummy/public/medal/outline.svg
932
+ - spec/dummy/public/error/500.svg
887
933
  - spec/dummy/public/error/timeout_2.svg
888
- - spec/dummy/public/error/timeout_3.svg
889
934
  - spec/dummy/public/error/401.svg
890
- - spec/dummy/public/error/500.svg
891
- - spec/dummy/public/error/404.svg
935
+ - spec/dummy/public/error/timeout_3.svg
892
936
  - spec/dummy/public/error/410.svg
893
- - spec/dummy/public/error/403.svg
937
+ - spec/dummy/public/error/404.svg
894
938
  - spec/dummy/public/error/timeout_1.svg
895
- - spec/dummy/config.ru
896
- - spec/dummy/db/schema.rb
897
- - spec/dummy/db/seeds.rb
939
+ - spec/dummy/public/error/403.svg
940
+ - spec/dummy/public/medal/outline.svg
941
+ - spec/dummy/package.json
942
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
943
+ - spec/dummy/config/initializers/wrap_parameters.rb
944
+ - spec/dummy/config/initializers/cookies_serializer.rb
945
+ - spec/dummy/config/initializers/assets.rb
946
+ - spec/dummy/config/database.yml
898
947
  - spec/dummy/config/routes.rb
899
- - spec/dummy/config/environment.rb
900
- - spec/dummy/config/spring.rb
901
948
  - spec/dummy/config/cable.yml
902
- - spec/dummy/config/secrets.yml
903
- - spec/dummy/config/application.rb
904
- - spec/dummy/config/rabbit.yml
949
+ - spec/dummy/config/spring.rb
905
950
  - spec/dummy/config/boot.rb
906
- - spec/dummy/config/environments/test.rb
951
+ - spec/dummy/config/puma.rb
907
952
  - spec/dummy/config/environments/development.rb
908
- - spec/dummy/config/locales/en.yml
953
+ - spec/dummy/config/environments/test.rb
909
954
  - spec/dummy/config/database.travis.yml
910
- - spec/dummy/config/puma.rb
911
- - spec/dummy/config/initializers/wrap_parameters.rb
912
- - spec/dummy/config/initializers/filter_parameter_logging.rb
913
- - spec/dummy/config/initializers/assets.rb
914
- - spec/dummy/config/initializers/cookies_serializer.rb
915
- - spec/dummy/config/database.yml
916
- - spec/dummy/package.json
917
- - spec/login_helper.rb
918
- - spec/helpers/with_choices_spec.rb
919
- - spec/helpers/email_helper_spec.rb
920
- - spec/helpers/authors_helper_spec.rb
921
- - spec/helpers/breadcrumbs_helper_spec.rb
922
- - spec/helpers/with_navigation_spec.rb
923
- - spec/helpers/exercise_input_helper_spec.rb
924
- - spec/helpers/avatar_helper_spec.rb
925
- - spec/helpers/test_results_rendering_spec.rb
926
- - spec/helpers/application_helper_spec.rb
927
- - spec/helpers/icons_helper_spec.rb
928
- - spec/helpers/page_title_helper_spec.rb
929
- - spec/api_helper.rb
955
+ - spec/dummy/config/rabbit.yml
956
+ - spec/dummy/config/secrets.yml
957
+ - spec/dummy/config/locales/en.yml
958
+ - spec/dummy/config/application.rb
959
+ - spec/dummy/config/environment.rb
960
+ - spec/dummy/Rakefile
961
+ - spec/dummy/bin/setup
962
+ - spec/dummy/bin/rake
963
+ - spec/dummy/bin/bundle
964
+ - spec/dummy/bin/update
965
+ - spec/dummy/bin/yarn
966
+ - spec/dummy/bin/rails
967
+ - spec/dummy/config.ru
968
+ - spec/teaspoon_env.rb
930
969
  - spec/capybara_helper.rb
931
- - spec/evaluation_helper.rb
932
- - spec/javascripts/bridge-spec.js
933
- - spec/javascripts/events-spec.js
934
- - spec/javascripts/exercise-spec.js
935
- - spec/javascripts/global-spec.js
936
- - spec/javascripts/gamification-spec.js
937
- - spec/javascripts/speech-bubble-renderer-spec.js
938
- - spec/javascripts/timeout-spec.js
939
- - spec/javascripts/results-renderers-spec.js
940
- - spec/javascripts/csrf-token-spec.js
941
- - spec/javascripts/elipsis-spec.js
942
- - spec/javascripts/timer-spec.js
943
- - spec/javascripts/editors-spec.js
944
- - spec/javascripts/spec-helper.js
945
- - spec/javascripts/submissions-store-spec.js
946
- - spec/javascripts/sync-mode-spec.js
947
- - spec/controllers/discussions_controller_spec.rb
948
- - spec/controllers/chapters_controller_spec.rb
949
- - spec/controllers/students_api_controller_spec.rb
950
- - spec/controllers/courses_api_controller_spec.rb
951
- - spec/controllers/confirmations_controller_spec.rb
952
- - spec/controllers/api_clients_controller.rb
953
- - spec/controllers/invitations_controller_spec.rb
954
- - spec/controllers/users_api_controller_spec.rb
955
- - spec/controllers/users_controller_spec.rb
956
- - spec/controllers/discussions_messages_controller_spec.rb
957
- - spec/controllers/guide_progress_controller_spec.rb
958
- - spec/controllers/organizations_api_controller_spec.rb
959
- - spec/controllers/messages_controller_spec.rb
960
- - spec/controllers/exercise_solutions_controller_spec.rb