diff --git a/react/src/quiz/quiz-question.js b/react/src/quiz/quiz-question.js index dd4d98d31..a0093395d 100644 --- a/react/src/quiz/quiz-question.js +++ b/react/src/quiz/quiz-question.js @@ -104,7 +104,7 @@ class QuizQuestion extends React.Component {
-
this.props.on_select("A")} style={button_style}> +
this.props.on_select("A")} style={button_style}>
{this.get_option_a()} @@ -113,7 +113,7 @@ class QuizQuestion extends React.Component {
-
this.props.on_select("B")} style={button_style}> +
this.props.on_select("B")} style={button_style}>
{this.get_option_b()} diff --git a/react/test/quiz_test.js b/react/test/quiz_test.js index 669778a38..fd3969d69 100644 --- a/react/test/quiz_test.js +++ b/react/test/quiz_test.js @@ -1,8 +1,48 @@ +import { Selector } from 'testcafe'; import { TARGET, screencap } from './test_utils'; +fixture('quiz clickthrough test') + .page(TARGET + '/quiz.html?date=99') + // no local storage + .beforeEach(async t => { + await t.eval(() => { + localStorage.clear() + }); + }); + +// click the kth button with id quiz-answer-button-$which +function click_button(t, which) { + return t.click(Selector("div").withAttribute("id", "quiz-answer-button-" + which)); +} + +test('quiz-clickthrough-test', async t => { + await click_button(t, "a"); + await t.wait(2000); + await screencap(t, "quiz/clickthrough-1"); + await click_button(t, "b"); + await t.wait(2000); + await screencap(t, "quiz/clickthrough-2"); + await click_button(t, "a"); + await t.wait(2000); + await screencap(t, "quiz/clickthrough-3"); + await click_button(t, "b"); + await t.wait(2000); + await screencap(t, "quiz/clickthrough-4"); + await click_button(t, "a"); + await t.wait(2000); + await t.eval(() => document.getElementById("quiz-timer").remove()); + await t.wait(3000); + await screencap(t, "quiz/clickthrough-5"); + let quiz_history = await t.eval(() => { + return JSON.stringify(JSON.parse(localStorage.getItem("quiz_history"))); + }); + await t.expect(quiz_history).eql('{"99":{"choices":["A","B","A","B","A"],"correct_pattern":[true,false,true,false,false]}}'); + +}); + fixture('quiz result test') .page(TARGET + '/quiz.html?date=100') - // no local storage + // very specific local storage .beforeEach(async t => { await t.eval(() => { localStorage.clear() diff --git a/reference_test_screeshots/quiz/clickthrough-1_Chrome.png b/reference_test_screeshots/quiz/clickthrough-1_Chrome.png new file mode 100644 index 000000000..6c5d11d35 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-1_Chrome.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-1_Firefox.png b/reference_test_screeshots/quiz/clickthrough-1_Firefox.png new file mode 100644 index 000000000..c926911ca Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-1_Firefox.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-2_Chrome.png b/reference_test_screeshots/quiz/clickthrough-2_Chrome.png new file mode 100644 index 000000000..f70112868 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-2_Chrome.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-2_Firefox.png b/reference_test_screeshots/quiz/clickthrough-2_Firefox.png new file mode 100644 index 000000000..f3cb558d7 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-2_Firefox.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-3_Chrome.png b/reference_test_screeshots/quiz/clickthrough-3_Chrome.png new file mode 100644 index 000000000..8b9597349 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-3_Chrome.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-3_Firefox.png b/reference_test_screeshots/quiz/clickthrough-3_Firefox.png new file mode 100644 index 000000000..ba00fbb2a Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-3_Firefox.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-4_Chrome.png b/reference_test_screeshots/quiz/clickthrough-4_Chrome.png new file mode 100644 index 000000000..a2a9b9c72 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-4_Chrome.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-4_Firefox.png b/reference_test_screeshots/quiz/clickthrough-4_Firefox.png new file mode 100644 index 000000000..e6bb67e37 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-4_Firefox.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-5_Chrome.png b/reference_test_screeshots/quiz/clickthrough-5_Chrome.png new file mode 100644 index 000000000..1571e09b6 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-5_Chrome.png differ diff --git a/reference_test_screeshots/quiz/clickthrough-5_Firefox.png b/reference_test_screeshots/quiz/clickthrough-5_Firefox.png new file mode 100644 index 000000000..200dbb040 Binary files /dev/null and b/reference_test_screeshots/quiz/clickthrough-5_Firefox.png differ