Skip to content
Snippets Groups Projects
Commit 1c9732c1 authored by Anisa's avatar Anisa
Browse files

finish the provider test

parent 823b85ce
Branches
No related tags found
No related merge requests found
......@@ -127,6 +127,13 @@ class provider_test extends provider_testcase {
$this->resetAfterTest();
$component = 'mod_pdfannotator';
$usercontext1 = \context_user::instance($this->user->id);
$userlist1 = new \core_privacy\local\request\userlist($usercontext1, $component);
provider::get_users_in_context($userlist1);
$this->assertCount(1, $userlist1);
// Create a comment for the question above.
$answer = new stdClass();
$answer->pdfannotatorid = $this->pdffile->id;
......@@ -171,6 +178,54 @@ class provider_test extends provider_testcase {
// Delete using delete_data_for_user.
provider::delete_data_for_users($userlist);
list($userinsql, $userinparams) = $DB->get_in_or_equal($userlist->get_userids(), SQL_PARAMS_NAMED);
$annotatorid = $this->pdffile->id;
// Combine instance + user sql.
$params = array_merge(['pdfannotatorid' => $annotatorid], $userinparams);
$sql = "pdfannotatorid = :pdfannotatorid AND userid {$userinsql}";
// Count subscriptions.
$annotations = $DB->get_records('pdfannotator_annotations', ['pdfannotatorid' => $annotatorid]);
$annotationids = array_column($annotations, 'id');
list($subinsql, $subinparams) = $DB->get_in_or_equal($annotationids, SQL_PARAMS_NAMED);
$count_subs = $DB->count_records_sql("SELECT *
FROM {pdfannotator_subscriptions} sub
WHERE sub.userid {$userinsql}
AND sub.annotationid {$subinsql}",
array_merge($userinparams, $subinparams));
$this->assertCount(0, $count_subs);
// Count votes.
$comments = $DB->get_records('pdfannotator_comments', ['pdfannotatorid' => $annotatorid]);
$commentsids = array_column($comments, 'id');
list($commentinsql, $commentinparams) = $DB->get_in_or_equal($commentsids, SQL_PARAMS_NAMED);
$count_votes = $DB->count_records_sql("SELECT *
FORM {pdfannotator_votes} votes
WHERE vote.userid {$userinsql}
AND vote.commentid {$commentinsql}",
array_merge($userinparams, $commentinparams));
$this->assertCount(0, $count_votes);
// Count annotations, reports, and comments.
$count_annotations = count($DB->get_records_select('pdfannotator_annotations', $sql, $params));
$this->assertCount(0, $count_annotations);
$count_reports = count($DB->get_records_select('pdfannotator_reports', $sql, $params));
$this->assertCount(0, $count_reports);
$count_comments = count($DB->get_records_select('pdfannotator_comments', $sql, $params));
$this->assertCount(0, $count_comments);
// Count pictures in comments.
$count_pics = $DB->count_records_sql("SELECT *
FORM {files} imgs
WHERE imgs.component = 'mod_pdfannotator'
AND imgs.filearea = 'post'
AND imgs.userid {$userinsql}
AND imgs.itemid {$commentinsql}",
array_merge($userinparams, $commentinparams));
$this->assertCount(0, $count_pics);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment