mumuki-laboratory 6.0.1 → 6.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4baab2d6431fb7c2b847f565d313b72d9f6ff8ae9fa1f936d689facccb713139
4
- data.tar.gz: a8e6210c1a86ff9bd5a1a4b79365d269fa551422d222269cfab4224bce046bd6
3
+ metadata.gz: 5b3fa503272dae9b4a52b2b427be8a8296cbd07828894bc8c6b61a1e7fabf079
4
+ data.tar.gz: b07ce7cd4a60d3890ac3900529723c4a6767d5f4f7580c42265ba9752cf4d546
5
5
  SHA512:
6
- metadata.gz: 931eaf49de3e73a34b828237c2975e35c8db05d9aa25b1483fee59acb80343bcb3d89bd2b32f48a710c6040c6b2b1d0daf40d4c748a46f09e1e9ebae1ec1d8fd
7
- data.tar.gz: 599ef618b7cf04949dbaa40130d9e3d1cc5cb537c13c58cbdc92e71159769938a28a26eb8611b6a06dbc7332584c446f2250c1b5c0e782ae6d037d573bee45cb
6
+ metadata.gz: 59fb438763ff9aa7d8f69ec71da68d512dcc0b6a01ab5095748e572f6936298667c23b261c19449e19ab70d75458417ef65316aa497847fb3b3a64a782288034
7
+ data.tar.gz: d65215e6d5a632e53126ac55145b162578e2f54a3f646ace984f4298464e51f05d8dcef2bb6a1da0049741daaa10f6bba673e73f7aa865c63a2ac898edf258dc
@@ -4,7 +4,7 @@ mumuki.load(() => {
4
4
  }
5
5
 
6
6
  function loadInput(values, element) {
7
- element.attr('value', values[element.attr('name')]);
7
+ element.val(values[element.attr('name')]);
8
8
  }
9
9
 
10
10
  function dumpForm(_event) {
@@ -1,5 +1,5 @@
1
1
  module Mumuki
2
2
  module Laboratory
3
- VERSION = '6.0.1'
3
+ VERSION = '6.0.2'
4
4
  end
5
5
  end
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 20181117190241) do
13
+ ActiveRecord::Schema.define(version: 20181121165956) do
14
14
 
15
15
  # These are extensions that must be enabled in order to support this database
16
16
  enable_extension "plpgsql"
@@ -158,7 +158,7 @@ ActiveRecord::Schema.define(version: 20181117190241) do
158
158
  t.boolean "new_expectations", default: false
159
159
  t.boolean "manual_evaluation", default: false
160
160
  t.integer "editor", default: 0, null: false
161
- t.string "choices", default: [], null: false, array: true
161
+ t.string "choice_values", default: [], null: false, array: true
162
162
  t.text "goal"
163
163
  t.string "initial_state"
164
164
  t.string "final_state"
@@ -166,6 +166,7 @@ ActiveRecord::Schema.define(version: 20181117190241) do
166
166
  t.text "randomizations"
167
167
  t.text "free_form_editor_source"
168
168
  t.text "teacher_info"
169
+ t.text "choices"
169
170
  t.index ["guide_id"], name: "index_exercises_on_guide_id"
170
171
  t.index ["language_id"], name: "index_exercises_on_language_id"
171
172
  end
@@ -12,7 +12,7 @@ feature 'Exercise Flow', organization_workspace: :test do
12
12
  let!(:problem_4) { build(:problem, name: 'Succ4', description: 'Description of Succ4', layout: :input_bottom, extra: 'x = 2') }
13
13
  let!(:problem_5) { build(:problem, name: 'Succ5', description: 'Description of Succ5', layout: :input_right, editor: :upload, hint: 'lele', language: gobstones) }
14
14
  let!(:problem_6) { build(:problem, name: 'Succ6', description: 'Description of Succ6', layout: :input_right, editor: :hidden, language: haskell) }
15
- let!(:problem_7) { build(:problem, name: 'Succ7', description: 'Description of Succ7', choices: ['some choice']) }
15
+ let!(:problem_7) { build(:problem, name: 'Succ7', description: 'Description of Succ7', choices: [{value: 'some choice', checked: true}]) }
16
16
  let!(:playground_1) { build(:playground, name: 'Succ5', description: 'Description of Succ4', layout: :input_right) }
17
17
  let!(:playground_2) { build(:playground, name: 'Succ6', description: 'Description of Succ4', layout: :input_right, extra: 'x = 4') }
18
18
  let!(:reading) { build(:reading, name: 'Reading about Succ', description: 'Lets understand succ history') }
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe ChoicesHelper do
4
4
  helper ChoicesHelper
5
5
 
6
- context 'exercise width choices' do
6
+ context 'exercise with choices' do
7
7
  let(:checked_content) { struct id: '1', index: 0, value: 'foo', text: 'bar' }
8
8
  let(:unchecked_content) { struct id: '3', index: 2, value: 'baz', text: 'lorem' }
9
9
  let(:content) { '0:1' }
@@ -4,6 +4,30 @@ describe Exercise, organization_workspace: :test do
4
4
  let(:exercise) { create(:exercise) }
5
5
  let(:user) { create(:user, first_name: 'Orlo') }
6
6
 
7
+ describe '#choice_values' do
8
+ context 'when choices are in 5.0 format' do
9
+ let(:choice_values) { %w(1492 1453 1773) }
10
+ let(:exercise) { build(:exercise, description: 'when did byzantine empire fall?', choice_values: choice_values) }
11
+
12
+ it { expect(exercise.choices).to be_blank }
13
+ it { expect(exercise[:choice_values]).to eq choice_values }
14
+ it { expect(exercise.choice_values).to eq choice_values }
15
+ it { expect(exercise.choice_index_for '1492').to eq 0 }
16
+ it { expect(exercise.choice_index_for '1773').to eq 2 }
17
+ end
18
+
19
+ context 'when choices are in 6.0 format' do
20
+ let(:choices) { [{value: '1492', checked: false}, {value: '1453', checked: true}, {value: '1773', checked: false}] }
21
+ let(:exercise) { build(:exercise, description: 'when did byzantine empire fall?', choices: choices) }
22
+
23
+ it { expect(exercise.choices).to eq choices }
24
+ it { expect(exercise[:choice_values]).to be_blank }
25
+ it { expect(exercise.choice_values).to eq %w(1492 1453 1773) }
26
+ it { expect(exercise.choice_index_for '1492').to eq 0 }
27
+ it { expect(exercise.choice_index_for '1773').to eq 2 }
28
+ end
29
+ end
30
+
7
31
  describe '#slug' do
8
32
  let(:guide) { create(:guide, slug: 'foo/bar') }
9
33
  let(:exercise) { create(:exercise, guide: guide, bibliotheca_id: 4) }
@@ -55,7 +55,7 @@ describe Guide do
55
55
  extra: '',
56
56
  language: { name: 'text' },
57
57
  test: "---\nequal: '1'\n",
58
- choices: [{value: 'foo', checked: false}, {value: 'bar', chekced: true}],
58
+ choices: [{value: 'foo', checked: false}, {value: 'bar', checked: true}],
59
59
  extra_visible: false,
60
60
  id: 8},
61
61
  {type: 'reading',
@@ -148,7 +148,8 @@ describe Guide do
148
148
  it { expect(guide.exercises.second.language).to eq haskell }
149
149
  it { expect(guide.exercises.second.default_content).to eq 'a default content' }
150
150
  it { expect(guide.exercises.second.extra_visible).to be true }
151
- it { expect(guide.exercises.fourth.choices).to eq ['foo', 'bar'] }
151
+ it { expect(guide.exercises.fourth.choices).to eq [{'value' => 'foo', 'checked' => false}, {'value' => 'bar', 'checked' => true}] }
152
+ it { expect(guide.exercises.fourth.choice_values).to eq ['foo', 'bar'] }
152
153
 
153
154
  it { expect(guide.exercises.third.expectations.first['binding']).to eq 'foo' }
154
155
 
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: 6.0.1
4
+ version: 6.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franco Bulgarelli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-20 00:00:00.000000000 Z
11
+ date: 2018-11-22 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: 6.0.1
33
+ version: 6.0.2
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: 6.0.1
40
+ version: 6.0.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mumukit-login
43
43
  requirement: !ruby/object:Gem::Requirement