Add id in select in order to be selected when doing test with behat

remotes/angel/1.11.x
jmontoyaa 8 years ago
parent ee8a6b7582
commit a887d50676
  1. 5
      main/exercise/fill_blanks.class.php
  2. 2
      main/inc/lib/exercise.lib.php
  3. 234
      tests/behat/features/toolExercise.feature

@ -481,6 +481,7 @@ class FillBlanks extends Question
}
/**
* @param int $currentQuestion
* @param int $questionId
* @param string $correctItem
* @param array $attributes
@ -491,6 +492,7 @@ class FillBlanks extends Question
* @return string
*/
public static function getFillTheBlankHtml(
$currentQuestion,
$questionId,
$correctItem,
$attributes,
@ -510,7 +512,7 @@ class FillBlanks extends Question
// display a menu from answer separated with |
// if display for student, shuffle the correct answer menu
$listMenu = self::getFillTheBlankMenuAnswers($inTeacherSolution, $displayForStudent);
$result .= '<select name="choice['.$questionId.'][]">';
$result .= '<select id="choice_id_'.$currentQuestion.'_'.$inBlankNumber.'" name="choice['.$questionId.'][]">';
for ($k=0; $k < count($listMenu); $k++) {
$selected = '';
if ($correctItem == $listMenu[$k]) {
@ -534,6 +536,7 @@ class FillBlanks extends Question
//no break
case self::FILL_THE_BLANK_STANDARD:
default:
$attributes['id'] = 'choice_id_'.$currentQuestion.'_'.$inBlankNumber;
$result = Display::input(
'text',
"choice[$questionId][]",

@ -595,6 +595,7 @@ class ExerciseLib
}
$attributes['style'] = "width:" . $listAnswerInfo['tabinputsize'][$i] . "px";
$answer .= FillBlanks::getFillTheBlankHtml(
$current_item,
$questionId,
$correctItem,
$attributes,
@ -615,6 +616,7 @@ class ExerciseLib
// display the blank word
$attributes["style"] = "width:" . $listAnswerInfo['tabinputsize'][$i] . "px";
$answer .= FillBlanks::getFillTheBlankHtml(
$current_item,
$questionId,
'',
$attributes,

@ -6,6 +6,14 @@ Feature: Exercise tool
Given I am a platform administrator
And I am on course "TEMP" homepage
Scenario: Create an exercise category
Given I am on "/main/exercise/tests_category.php?action=addcategory&cidReq=TEMP"
When I fill in the following:
| category_name | Category 1 |
And I fill in ckeditor field "category_description" with "Category description"
And I press "SubmitNote"
Then I should see "Category added"
Scenario: Create an exercise
Given I am on "/main/exercise/exercise_admin.php?cidReq=TEMP"
And I press advanced settings
@ -15,108 +23,126 @@ Feature: Exercise tool
And I press "submitExercise"
Then I should see "Exercise added"
# Scenario: Edit an exercise
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Exercise 1"
# And I follow "Edit"
# And I follow "Edit test name and settings"
# And I press "submitExercise"
# Then I should see "Test name and settings have been saved."
#
# Scenario: Add question "Multiple choice" to exercise created "Exercise 1"
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Exercise 1"
# And I follow "Edit"
# And I follow "Multiple choice"
# When I fill in the following:
# | questionName | Question Multiple choice |
# | weighting[1] | 10 |
# Then I fill in ckeditor field "answer[1]" with "Answer true"
# Then I fill in ckeditor field "answer[2]" with "Answer false"
# Then I fill in ckeditor field "answer[3]" with "Answer false"
# Then I fill in ckeditor field "answer[4]" with "Answer false"
#
# Then I fill in ckeditor field "comment[1]" with "Comment true"
# Then I fill in ckeditor field "comment[2]" with "Comment false"
# Then I fill in ckeditor field "comment[3]" with "Comment false"
# Then I fill in ckeditor field "comment[4]" with "Comment false"
# And I press "submitQuestion"
# Then I should see "Item added"
#
# Scenario: Add question "Multiple answer" to exercise created "Exercise 1"
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Exercise 1"
# And I follow "Edit"
# And I follow "Multiple answer"
# When I fill in the following:
# | questionName | Question Multiple |
# | weighting[1] | 10 |
# Then I check the "correct[1]" radio button
# Then I fill in ckeditor field "answer[1]" with "Answer true"
# Then I fill in ckeditor field "answer[2]" with "Answer false"
# Then I fill in ckeditor field "answer[3]" with "Answer false"
# Then I fill in ckeditor field "answer[4]" with "Answer false"
#
# Then I fill in ckeditor field "comment[1]" with "Comment true"
# Then I fill in ckeditor field "comment[2]" with "Comment false"
# Then I fill in ckeditor field "comment[3]" with "Comment false"
# Then I fill in ckeditor field "comment[4]" with "Comment false"
# And I press "submitQuestion"
# Then I should see "Item added"
#
# Scenario: Add question "Matching" to exercise created "Exercise 1"
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Exercise 1"
# And I follow "Edit"
# And I follow "Matching"
# When I fill in the following:
# | questionName | Question Matching |
# | answer[1] | Answer A |
# | answer[2] | Answer B |
# | option[1] | Option A |
# | option[2] | Option B |
# And I fill in select bootstrap static input "#matches_2" select "2"
#
# And I press "submitQuestion"
# Then I should see "Item added"
#
# Scenario: Try exercise "Exercise 1"
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Exercise 1"
# And I follow "Start test"
# Then I should see "Question Multiple choice"
# And I check the "Answer true" radio button
# And wait for the page to be loaded
# Then I follow "Next question"
# And wait for the page to be loaded
# And I check the "Answer true" radio button
# And wait for the page to be loaded
# Then I follow "Next question"
# And wait for the page to be loaded
# Then I select "A" from "choice_id_3_1"
# Then I select "B" from "choice_id_3_2"
# Then I follow "End test"
# Then I should see "Score for the test: 40 / 40"
Scenario: Edit an exercise
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Exercise 1"
And I follow "Edit"
And I follow "Edit test name and settings"
And I press "submitExercise"
Then I should see "Test name and settings have been saved."
Scenario: Add question "Multiple choice" to exercise created "Exercise 1"
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Exercise 1"
And I follow "Edit"
And I follow "Multiple choice"
When I fill in the following:
| questionName | Multiple choice |
| weighting[1] | 10 |
Then I fill in ckeditor field "answer[1]" with "Answer true"
Then I fill in ckeditor field "answer[2]" with "Answer false"
Then I fill in ckeditor field "answer[3]" with "Answer false"
Then I fill in ckeditor field "answer[4]" with "Answer false"
Then I fill in ckeditor field "comment[1]" with "Comment true"
Then I fill in ckeditor field "comment[2]" with "Comment false"
Then I fill in ckeditor field "comment[3]" with "Comment false"
Then I fill in ckeditor field "comment[4]" with "Comment false"
And I press "submitQuestion"
Then I should see "Item added"
Scenario: Add question "Multiple answer" to exercise created "Exercise 1"
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Exercise 1"
And I follow "Edit"
And I follow "Multiple answer"
When I fill in the following:
| questionName | Multiple answers |
| weighting[1] | 10 |
Then I check the "correct[1]" radio button
Then I fill in ckeditor field "answer[1]" with "Answer true"
Then I fill in ckeditor field "answer[2]" with "Answer false"
Then I fill in ckeditor field "answer[3]" with "Answer false"
Then I fill in ckeditor field "answer[4]" with "Answer false"
Then I fill in ckeditor field "comment[1]" with "Comment true"
Then I fill in ckeditor field "comment[2]" with "Comment false"
Then I fill in ckeditor field "comment[3]" with "Comment false"
Then I fill in ckeditor field "comment[4]" with "Comment false"
And I press "submitQuestion"
Then I should see "Item added"
Scenario: Add question "Fill in blanks" to "Exercise 1"
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Exercise 1"
And I follow "Edit"
And I follow "Fill blanks or form"
When I fill in the following:
| questionName | Fill blanks |
Then I fill in ckeditor field "answer" with "Romeo and [Juliet]"
And I press "submitQuestion"
Then I should see "Item added"
Scenario: Add question "Matching" to exercise created "Exercise 1"
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Exercise 1"
And I follow "Edit"
And I follow "Matching"
When I fill in the following:
| questionName | Matching |
| answer[1] | Answer A |
| answer[2] | Answer B |
| option[1] | Option A |
| option[2] | Option B |
And I fill in select bootstrap static input "#matches_2" select "2"
And I press "submitQuestion"
Then I should see "Item added"
Scenario: Try exercise "Exercise 1"
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Exercise 1"
And I follow "Start test"
Then I should see "Multiple choice"
And I check the "Answer true" radio button
And wait for the page to be loaded
Then I follow "Next question"
And wait for the page to be loaded
And I check the "Answer true" radio button
And wait for the page to be loaded
Then I follow "Next question"
Then I fill in the following:
| choice_id_3_0 | Juliet |
And wait for the page to be loaded
Then I follow "Next question"
Then I select "A" from "choice_id_4_1"
Then I select "B" from "choice_id_4_2"
Then I follow "End test"
Then I should see "Score for the test: 41 / 41"
Scenario: Check exercise result
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Exercise 1"
And I follow "Edit"
And I follow "Results and feedback"
Then I should see "Learner score"
And wait for the page to be loaded
And I follow "Grade activity"
Then I should see "Score for the test: 41 / 41"
Scenario: Duplicate exercise
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Copy this exercise as a new one"
And I confirm the popup
Then I should see "Exercise copied"
And I should see "Exercise 1 - Copy"
Scenario: Delete an exercise
Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
And I follow "Delete"
And I confirm the popup
Then I should see "The test has been deleted"
# Scenario: Check exercise result
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Exercise 1"
# And I follow "Edit"
# And I follow "Results and feedback"
# Then I should see "Learner score"
# And wait for the page to be loaded
# And I follow "Grade activity"
# Then I should see "Score for the test: 20 / 20"
#
# Scenario: Duplicate exercise
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Copy this exercise as a new one"
# And I confirm the popup
# Then I should see "Exercise copied"
# And I should see "Exercise 1 - Copy"
#
# Scenario: Delete an exercise
# Given I am on "/main/exercise/exercise.php?cidReq=TEMP"
# And I follow "Delete"
# And I confirm the popup
# Then I should see "The test has been deleted"
Scenario: Delete an exercise category
Given I am on "/main/exercise/tests_category.php?cidReq=TEMP"
And I follow "Delete"
Then I should see "Category deleted"
Loading…
Cancel
Save