Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
integration
prechecker
Commits
6b9c205a
Commit
6b9c205a
authored
Nov 06, 2015
by
Dan Poltawski
Browse files
MDL-51569 mod_choice: Fix use of hardcoded ids
(Previous approach of making up ids longer works now we are validating them..)
parent
51263346
Changes
1
Hide whitespace changes
Inline
Side-by-side
mod/choice/tests/events_test.php
View file @
6b9c205a
...
...
@@ -65,12 +65,14 @@ class mod_choice_events_testcase extends advanced_testcase {
* Test to ensure that event data is being stored correctly.
*/
public
function
test_answer_submitted
()
{
global
$DB
;
// Generate user data.
$user
=
$this
->
getDataGenerator
()
->
create_user
();
$optionids
=
array_keys
(
$DB
->
get_records
(
'choice_options'
,
array
(
'choiceid'
=>
$this
->
choice
->
id
)));
// Redirect event.
$sink
=
$this
->
redirectEvents
();
choice_user_submit_response
(
3
,
$this
->
choice
,
$user
->
id
,
$this
->
course
,
$this
->
cm
);
choice_user_submit_response
(
$optionids
[
3
]
,
$this
->
choice
,
$user
->
id
,
$this
->
course
,
$this
->
cm
);
$events
=
$sink
->
get_events
();
// Data checking.
...
...
@@ -79,7 +81,7 @@ class mod_choice_events_testcase extends advanced_testcase {
$this
->
assertEquals
(
$user
->
id
,
$events
[
0
]
->
userid
);
$this
->
assertEquals
(
context_module
::
instance
(
$this
->
choice
->
cmid
),
$events
[
0
]
->
get_context
());
$this
->
assertEquals
(
$this
->
choice
->
id
,
$events
[
0
]
->
other
[
'choiceid'
]);
$this
->
assertEquals
(
array
(
3
),
$events
[
0
]
->
other
[
'optionid'
]);
$this
->
assertEquals
(
array
(
$optionids
[
3
]
),
$events
[
0
]
->
other
[
'optionid'
]);
$expected
=
array
(
$this
->
course
->
id
,
"choice"
,
"choose"
,
'view.php?id='
.
$this
->
cm
->
id
,
$this
->
choice
->
id
,
$this
->
cm
->
id
);
$this
->
assertEventLegacyLogData
(
$expected
,
$events
[
0
]);
$this
->
assertEventContextNotUsed
(
$events
[
0
]);
...
...
@@ -101,9 +103,12 @@ class mod_choice_events_testcase extends advanced_testcase {
$cm
=
$DB
->
get_record
(
'course_modules'
,
array
(
'id'
=>
$choice
->
cmid
));
$context
=
context_module
::
instance
(
$choice
->
cmid
);
$optionids
=
array_keys
(
$DB
->
get_records
(
'choice_options'
,
array
(
'choiceid'
=>
$choice
->
id
)));
$submittedoptionids
=
array
(
$optionids
[
1
],
$optionids
[
3
]);
// Redirect event.
$sink
=
$this
->
redirectEvents
();
choice_user_submit_response
(
array
(
1
,
3
)
,
$choice
,
$user
->
id
,
$this
->
course
,
$cm
);
choice_user_submit_response
(
$submittedoptionids
,
$choice
,
$user
->
id
,
$this
->
course
,
$cm
);
$events
=
$sink
->
get_events
();
// Data checking.
...
...
@@ -112,7 +117,7 @@ class mod_choice_events_testcase extends advanced_testcase {
$this
->
assertEquals
(
$user
->
id
,
$events
[
0
]
->
userid
);
$this
->
assertEquals
(
context_module
::
instance
(
$choice
->
cmid
),
$events
[
0
]
->
get_context
());
$this
->
assertEquals
(
$choice
->
id
,
$events
[
0
]
->
other
[
'choiceid'
]);
$this
->
assertEquals
(
array
(
1
,
3
)
,
$events
[
0
]
->
other
[
'optionid'
]);
$this
->
assertEquals
(
$submittedoptionids
,
$events
[
0
]
->
other
[
'optionid'
]);
$expected
=
array
(
$this
->
course
->
id
,
"choice"
,
"choose"
,
'view.php?id='
.
$cm
->
id
,
$choice
->
id
,
$cm
->
id
);
$this
->
assertEventLegacyLogData
(
$expected
,
$events
[
0
]);
$this
->
assertEventContextNotUsed
(
$events
[
0
]);
...
...
@@ -144,16 +149,19 @@ class mod_choice_events_testcase extends advanced_testcase {
* Test to ensure that event data is being stored correctly.
*/
public
function
test_answer_updated
()
{
global
$DB
;
// Generate user data.
$user
=
$this
->
getDataGenerator
()
->
create_user
();
$optionids
=
array_keys
(
$DB
->
get_records
(
'choice_options'
,
array
(
'choiceid'
=>
$this
->
choice
->
id
)));
// Create the first answer.
choice_user_submit_response
(
2
,
$this
->
choice
,
$user
->
id
,
$this
->
course
,
$this
->
cm
);
choice_user_submit_response
(
$optionids
[
2
]
,
$this
->
choice
,
$user
->
id
,
$this
->
course
,
$this
->
cm
);
// Redirect event.
$sink
=
$this
->
redirectEvents
();
// Now choose a different answer.
choice_user_submit_response
(
3
,
$this
->
choice
,
$user
->
id
,
$this
->
course
,
$this
->
cm
);
choice_user_submit_response
(
$optionids
[
3
]
,
$this
->
choice
,
$user
->
id
,
$this
->
course
,
$this
->
cm
);
$events
=
$sink
->
get_events
();
...
...
@@ -163,7 +171,7 @@ class mod_choice_events_testcase extends advanced_testcase {
$this
->
assertEquals
(
$user
->
id
,
$events
[
0
]
->
userid
);
$this
->
assertEquals
(
context_module
::
instance
(
$this
->
choice
->
cmid
),
$events
[
0
]
->
get_context
());
$this
->
assertEquals
(
$this
->
choice
->
id
,
$events
[
0
]
->
other
[
'choiceid'
]);
$this
->
assertEquals
(
3
,
$events
[
0
]
->
other
[
'optionid'
]);
$this
->
assertEquals
(
$optionids
[
3
]
,
$events
[
0
]
->
other
[
'optionid'
]);
$expected
=
array
(
$this
->
course
->
id
,
"choice"
,
"choose again"
,
'view.php?id='
.
$this
->
cm
->
id
,
$this
->
choice
->
id
,
$this
->
cm
->
id
);
$this
->
assertEventLegacyLogData
(
$expected
,
$events
[
0
]);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment