mumuki-laboratory 8.1.2 → 8.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -8
  3. data/app/assets/javascripts/mumuki_laboratory/application/bridge.js +2 -1
  4. data/app/assets/javascripts/mumuki_laboratory/application/button.js +2 -4
  5. data/app/assets/javascripts/mumuki_laboratory/application/codemirror-builder.js +1 -1
  6. data/app/assets/javascripts/mumuki_laboratory/application/codemirror.js +2 -2
  7. data/app/assets/javascripts/mumuki_laboratory/application/i18n.js +73 -0
  8. data/app/assets/javascripts/mumuki_laboratory/application/kids.js +22 -1
  9. data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +6 -1
  10. data/app/assets/javascripts/mumuki_laboratory/application/primary.js +5 -3
  11. data/app/assets/javascripts/mumuki_laboratory/application/results-renderer.js +28 -1
  12. data/app/assets/javascripts/mumuki_laboratory/application/submission.js +72 -48
  13. data/app/assets/stylesheets/mumuki_laboratory/application.scss +1 -0
  14. data/app/assets/stylesheets/mumuki_laboratory/application/_codemirror-themes.scss +1 -0
  15. data/app/assets/stylesheets/mumuki_laboratory/application/codemirror-themes/_mu-light.scss +3 -0
  16. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids.scss +4 -0
  17. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +1 -0
  18. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_overlap.scss +0 -4
  19. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_terms.scss +4 -0
  20. data/app/controllers/chapters_controller.rb +9 -5
  21. data/app/controllers/guide_container_controller.rb +2 -7
  22. data/app/helpers/assignment_result_helper.rb +1 -1
  23. data/app/helpers/contextualization_result_helper.rb +0 -8
  24. data/app/helpers/discussions_helper.rb +12 -4
  25. data/app/helpers/editor_tabs_helper.rb +1 -1
  26. data/app/helpers/icons_helper.rb +1 -1
  27. data/app/helpers/links_helper.rb +1 -1
  28. data/app/helpers/menu_bar_helper.rb +9 -1
  29. data/app/helpers/overlapped_buttons_helper.rb +13 -5
  30. data/app/views/book/show.html.erb +2 -2
  31. data/app/views/book_discussions/index.html.erb +3 -1
  32. data/app/views/chapters/show.html.erb +21 -9
  33. data/app/views/complements/show.html.erb +1 -1
  34. data/app/views/discussions/_message.html.erb +2 -2
  35. data/app/views/discussions/index.html.erb +11 -4
  36. data/app/views/exams/show.html.erb +1 -1
  37. data/app/views/exercise_solutions/_kids_level_up.html.erb +1 -1
  38. data/app/views/exercises/_exercise_assignment.html.erb +1 -1
  39. data/app/views/exercises/_read_only.html.erb +1 -1
  40. data/app/views/exercises/show.html.erb +2 -2
  41. data/app/views/layouts/_discussions.html.erb +0 -4
  42. data/app/views/layouts/_guide.html.erb +9 -36
  43. data/app/views/layouts/_guide_container.html.erb +28 -0
  44. data/app/views/layouts/_guide_title_icons.html.erb +9 -0
  45. data/app/views/layouts/_kids.html.erb +4 -4
  46. data/app/views/layouts/_kindergarten.html.erb +5 -5
  47. data/app/views/layouts/_social_media.html.erb +4 -4
  48. data/app/views/layouts/_timer.html.erb +1 -1
  49. data/app/views/layouts/application.html.erb +16 -14
  50. data/app/views/layouts/exercise_inputs/editors/_code.html.erb +1 -6
  51. data/app/views/layouts/exercise_inputs/editors/_multiple_files.html.erb +4 -9
  52. data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +1 -1
  53. data/app/views/layouts/exercise_inputs/layouts/_input_kindergarten.html.erb +1 -1
  54. data/app/views/layouts/modals/_guide_corollary.html.erb +13 -3
  55. data/app/views/layouts/modals/_kids_results.html.erb +2 -2
  56. data/app/views/layouts/modals/_kindergarten_context.html.erb +3 -3
  57. data/app/views/layouts/modals/_kindergarten_results.html.erb +3 -3
  58. data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +2 -2
  59. data/app/views/layouts/modals/_level_up.html.erb +1 -1
  60. data/app/views/lessons/show.html.erb +1 -1
  61. data/app/views/users/_edit_user_form.html.erb +1 -1
  62. data/app/views/users/_term.html.erb +1 -1
  63. data/app/views/users/_user_form.html.erb +1 -1
  64. data/lib/mumuki/laboratory/controllers/results_rendering.rb +2 -1
  65. data/lib/mumuki/laboratory/engine.rb +1 -1
  66. data/lib/mumuki/laboratory/locales/en.yml +6 -9
  67. data/lib/mumuki/laboratory/locales/es-CL.yml +6 -4
  68. data/lib/mumuki/laboratory/locales/es.yml +9 -11
  69. data/lib/mumuki/laboratory/locales/pt.yml +6 -9
  70. data/lib/mumuki/laboratory/version.rb +1 -1
  71. data/spec/controllers/exercise_solutions_controller_spec.rb +3 -2
  72. data/spec/dummy/db/schema.rb +50 -1
  73. data/spec/dummy/public/character/animations.json +1 -0
  74. data/{public → spec/dummy/public}/character/kibi/context.svg +0 -0
  75. data/{public → spec/dummy/public}/character/kibi/failure.svg +0 -0
  76. data/{public → spec/dummy/public}/character/kibi/jump.svg +0 -0
  77. data/spec/dummy/public/character/kibi/passed_with_warnings.svg +4 -0
  78. data/{public → spec/dummy/public}/character/kibi/success2_l.svg +0 -0
  79. data/{public → spec/dummy/public}/character/kibi/success_l.svg +0 -0
  80. data/{public → spec/dummy/public}/character/magnifying_glass/apparition.svg +0 -0
  81. data/{public → spec/dummy/public}/character/magnifying_glass/loop.svg +0 -0
  82. data/spec/features/chapters_flow_spec.rb +112 -0
  83. data/spec/features/login_flow_spec.rb +1 -1
  84. data/spec/features/terms_flow_spec.rb +2 -0
  85. data/spec/features/topic_flow_spec.rb +0 -1
  86. data/spec/helpers/icons_helper_spec.rb +3 -3
  87. data/spec/helpers/test_results_rendering_spec.rb +8 -8
  88. data/spec/helpers/with_navigation_spec.rb +14 -14
  89. data/spec/javascripts/gamification-spec.js +2 -2
  90. data/spec/javascripts/i18n-spec.js +79 -0
  91. data/spec/javascripts/kids-button-spec.js +36 -0
  92. metadata +140 -117
  93. data/spec/dummy/config/database.travis.yml +0 -4
  94. data/spec/features/chapter_spec.rb +0 -70
@@ -1,4 +0,0 @@
1
- test:
2
- adapter: postgresql
3
- database: travis_ci_test
4
- username: postgres
@@ -1,70 +0,0 @@
1
- require 'spec_helper'
2
-
3
- feature 'Chapters flow', organization_workspace: :test do
4
- let(:haskell) { create(:haskell) }
5
-
6
- let!(:chapter) {
7
- create(:chapter, name: 'Functional Programming', lessons: [
8
- create(:lesson, name: 'Values and Functions', language: haskell, description: 'Values are everywhere...', exercises: [
9
- create(:exercise, name: 'The Basic Values', description: "Let's say we want to declare a variable...")
10
- ]),
11
- create(:lesson, name: 'Monads and Functors', language: haskell, description: 'Monds are everywhere too...', exercises: [
12
- create(:exercise, name: 'The Maybe Functor', description: "Let's say we want to model absense of value...")
13
- ])
14
- ]) }
15
-
16
- before { reindex_current_organization! }
17
-
18
- context 'no appendix' do
19
- scenario 'show chapter, no appendix' do
20
- visit "/chapters/#{chapter.id}"
21
-
22
- expect(page).to have_text('Functional Programming')
23
- expect(page).to have_text('The Basic Values')
24
-
25
- expect(page).to have_text('Monads and Functors')
26
- expect(page).to have_text('The Maybe Functor')
27
-
28
- expect(page).to_not have_text('Appendix')
29
- end
30
- end
31
-
32
- context 'with appendix' do
33
- before { chapter.topic.update appendix: 'Check this article about endofunctors' }
34
-
35
- scenario 'show chapter, with appendix' do
36
- visit "/chapters/#{chapter.id}"
37
-
38
- expect(page).to have_text('Functional Programming')
39
- expect(page).to have_text('The Basic Values')
40
-
41
- expect(page).to have_text('Monads and Functors')
42
- expect(page).to have_text('The Maybe Functor')
43
-
44
- expect(page).to have_text('Appendix')
45
- end
46
-
47
- scenario 'show appendix' do
48
- visit "/chapters/#{chapter.id}/appendix"
49
- expect(page).to have_text('Appendix')
50
- expect(page).to have_text('endofunctors')
51
- end
52
- end
53
-
54
- context 'incognito user' do
55
- before { Organization.current.update! incognito_mode_enabled: true }
56
- scenario 'show chapter, no appendix' do
57
- visit "/chapters/#{chapter.id}"
58
-
59
- expect(page).to have_text('Functional Programming')
60
- expect(page).to have_text('The Basic Values')
61
-
62
- expect(page).to have_text('Monads and Functors')
63
- expect(page).to have_text('The Maybe Functor')
64
-
65
- expect(page).to_not have_text('Appendix')
66
-
67
- expect(page).to have_text('Sign in')
68
- end
69
- end
70
- end