MDL-75182 enrol_lti: remove installed lang assumptions from unit tests

Don't assume 'fr' isn't installed, or that 'en' is. Use known
non-existent languages and known installed languages for the relevant
test cases.
This commit is contained in:
Jake Dallimore 2022-07-08 09:53:36 +08:00
parent a23f0bff3e
commit dc20ae685f
4 changed files with 53 additions and 39 deletions

View File

@ -229,15 +229,16 @@ class resource_link_test extends \advanced_testcase {
* @covers ::add_user
*/
public function test_add_user() {
global $CFG;
$reslinkwithid = resource_link::create('res-link-id-123', 24, 44, 66, 33);
$user = $reslinkwithid->add_user(2, 'platform-user-id-123', 'en', 'Sydney', 'AU', 'Test university', '99');
$user = $reslinkwithid->add_user(2, 'platform-user-id-123', $CFG->lang, 'Sydney', 'AU', 'Test university', '99');
$this->assertInstanceOf(user::class, $user);
$this->assertEquals(33, $user->get_resourcelinkid());
$reslinkwithoutid = resource_link::create('res-link-id-123', 24, 44);
$this->expectException(\coding_exception::class);
$this->expectExceptionMessage("Can't add user to a resource_link that hasn't first been saved");
$reslinkwithoutid->add_user(2, 'platform-user-id-123', 'en', 'Sydney', 'Australia', 'Test university', '99');
$reslinkwithoutid->add_user(2, 'platform-user-id-123', $CFG->lang, 'Sydney', 'Australia', 'Test university', '99');
}
/**

View File

@ -65,6 +65,7 @@ class user_test extends \advanced_testcase {
* @return array the data for testing.
*/
public function create_data_provider(): array {
global $CFG;
return [
'Valid create, only required args provided' => [
'args' => [
@ -72,7 +73,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99'
],
'expectations' => [
@ -80,7 +81,7 @@ class user_test extends \advanced_testcase {
'resourceid' => 22,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => '',
'country' => '',
@ -99,7 +100,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'AU',
@ -115,7 +116,7 @@ class user_test extends \advanced_testcase {
'resourceid' => 22,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'AU',
@ -134,7 +135,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'AU',
@ -151,7 +152,7 @@ class user_test extends \advanced_testcase {
'resourceid' => 22,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'AU',
@ -164,19 +165,19 @@ class user_test extends \advanced_testcase {
'id' => null
]
],
'Invalid create, lang with bad value (fr not installed)' => [
'Invalid create, lang with bad value (vvvv not installed)' => [
'args' => [
'resourceid' => 22,
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'fr',
'lang' => 'vvvv',
'timezone' => '99',
],
'expectations' => [
'valid' => false,
'exception' => \coding_exception::class,
'exceptionmessage' => "Invalid lang 'fr' provided."
'exceptionmessage' => "Invalid lang 'vvvv' provided."
]
],
'Invalid create, timezone with bad value' => [
@ -185,7 +186,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => 'NOT/FOUND',
],
'expectations' => [
@ -200,7 +201,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => '',
'country' => 'FFF',
@ -217,7 +218,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => '',
'country' => '',
@ -272,6 +273,7 @@ class user_test extends \advanced_testcase {
* @return array the data for testing.
*/
public function create_from_resource_link_data_provider(): array {
global $CFG;
return [
'Valid creation, all args provided explicitly' => [
'args' => [
@ -280,7 +282,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'AU',
@ -295,7 +297,7 @@ class user_test extends \advanced_testcase {
'resourceid' => 22,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'AU',
@ -312,7 +314,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => 'UTC'
],
'expectations' => [
@ -323,7 +325,7 @@ class user_test extends \advanced_testcase {
'resourceid' => 22,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => 'UTC',
'city' => '',
'country' => '',
@ -340,7 +342,7 @@ class user_test extends \advanced_testcase {
'user' => 2,
'deploymentid' => 33,
'sourceid' => '',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => 'UTC'
],
'expectations' => [
@ -372,7 +374,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => ''
],
'expectations' => [
@ -381,20 +383,20 @@ class user_test extends \advanced_testcase {
'exceptionmessage' => 'Invalid timezone value. Cannot be an empty string.'
]
],
'Invalid creation, only required args provided, invalid lang (fr not installed)' => [
'Invalid creation, only required args provided, invalid lang (vvvv not installed)' => [
'args' => [
'resourcelinkid' => 11,
'resourceid' => 22,
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'fr',
'lang' => 'vvvv',
'timezone' => 'UTC'
],
'expectations' => [
'valid' => false,
'exception' => \coding_exception::class,
'exceptionmessage' => "Invalid lang 'fr' provided."
'exceptionmessage' => "Invalid lang 'vvvv' provided."
]
],
'Invalid creation, only required args provided, invalid timezone' => [
@ -404,7 +406,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => 'NOT/FOUND'
],
'expectations' => [
@ -420,7 +422,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'FFF',
@ -440,7 +442,7 @@ class user_test extends \advanced_testcase {
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => '99',
'city' => 'Melbourne',
'country' => 'AU',
@ -462,13 +464,14 @@ class user_test extends \advanced_testcase {
* @return user a user instance.
*/
protected function create_test_user(): user {
global $CFG;
$args = [
'resourcelinkid' => 11,
'resourceid' => 22,
'userid' => 2,
'deploymentid' => 33,
'sourceid' => 'user-id-123',
'lang' => 'en',
'lang' => $CFG->lang,
'timezone' => 'UTC'
];
return user::create_from_resource_link(...array_values($args));
@ -509,6 +512,7 @@ class user_test extends \advanced_testcase {
* @return array the array of test data.
*/
public function setters_getters_data_provider(): array {
global $CFG;
return [
'Testing set_resourcelinkid with valid id' => [
'methodname' => 'resourcelinkid',
@ -641,7 +645,7 @@ class user_test extends \advanced_testcase {
],
'Testing set_lang with valid lang code' => [
'methodname' => 'lang',
'arg' => 'en',
'arg' => $CFG->lang,
'expectations' => [
'valid' => true,
]

View File

@ -197,6 +197,7 @@ class resource_link_repository_test extends \advanced_testcase {
* @covers ::find_by_resource_and_user
*/
public function test_find_by_resource_and_user() {
global $CFG;
$this->resetAfterTest();
$resourcelink = $this->generate_resource_link();
$repository = new resource_link_repository();
@ -214,7 +215,7 @@ class resource_link_repository_test extends \advanced_testcase {
$user = $newreslink->add_user(
$user1->id,
'platform-user-id-123',
'en',
$CFG->lang,
'Sydney',
'AU',
'Test university',
@ -227,7 +228,7 @@ class resource_link_repository_test extends \advanced_testcase {
$user2 = $newreslink3->add_user(
$user2->id,
'platform-user-id-777',
'en',
$CFG->lang,
'Melbourne',
'AU',
'Test university',
@ -255,6 +256,7 @@ class resource_link_repository_test extends \advanced_testcase {
* @covers ::delete
*/
public function test_delete() {
global $CFG;
$this->resetAfterTest();
$resourcelink = $this->generate_resource_link();
$repository = new resource_link_repository();
@ -265,7 +267,7 @@ class resource_link_repository_test extends \advanced_testcase {
$user = $newreslink->add_user(
2,
'source-id-123',
'en',
$CFG->lang,
'Perth',
'AU',
'An Example Institution',
@ -293,6 +295,7 @@ class resource_link_repository_test extends \advanced_testcase {
* @covers ::delete_by_resource
*/
public function test_delete_by_resource() {
global $CFG;
$this->resetAfterTest();
$resourcelink = $this->generate_resource_link();
$repository = new resource_link_repository();
@ -302,7 +305,7 @@ class resource_link_repository_test extends \advanced_testcase {
$user = $newreslink->add_user(
2,
'source-id-123',
'en',
$CFG->lang,
'Perth',
'AU',
'An Example Institution',
@ -337,6 +340,7 @@ class resource_link_repository_test extends \advanced_testcase {
* @covers ::delete_by_deployment
*/
public function test_delete_by_deployment() {
global $CFG;
$this->resetAfterTest();
$resourcelink = $this->generate_resource_link();
$repository = new resource_link_repository();
@ -347,7 +351,7 @@ class resource_link_repository_test extends \advanced_testcase {
$user = $newreslink->add_user(
2,
'source-id-123',
'en',
$CFG->lang,
'Perth',
'AU',
'An Example Institution',

View File

@ -34,6 +34,7 @@ class user_repository_test extends \advanced_testcase {
* @return user a user instance
*/
protected function generate_user(int $mockresourceid = 1): user {
global $CFG;
$registration = application_registration::create(
'Test',
'a2c94a2c94',
@ -66,7 +67,7 @@ class user_repository_test extends \advanced_testcase {
$ltiuser = $savedresourcelink->add_user(
$user->id,
'source-id-123',
'en',
$CFG->lang,
'Perth',
'AU',
'An Example Institution',
@ -215,6 +216,7 @@ class user_repository_test extends \advanced_testcase {
* @covers ::save
*/
public function test_save_stale_id() {
global $CFG;
$this->resetAfterTest();
$instructoruser = $this->getDataGenerator()->create_user();
$userrepo = new user_repository();
@ -223,7 +225,7 @@ class user_repository_test extends \advanced_testcase {
$instructoruser->id,
5,
'source-id-123',
'en',
$CFG->lang,
'99',
'',
'',
@ -280,6 +282,7 @@ class user_repository_test extends \advanced_testcase {
* @covers ::find_by_resource
*/
public function test_find_by_resource() {
global $CFG;
$this->resetAfterTest();
$user = $this->generate_user();
$userrepo = new user_repository();
@ -291,7 +294,7 @@ class user_repository_test extends \advanced_testcase {
$instructoruser->id,
$saveduser->get_deploymentid(),
'another-user-123',
'en',
$CFG->lang,
'99',
'Perth',
'AU',
@ -314,6 +317,7 @@ class user_repository_test extends \advanced_testcase {
* @covers ::find_by_resource_link
*/
public function test_find_by_resource_link() {
global $CFG;
$this->resetAfterTest();
$user = $this->generate_user();
$user->set_resourcelinkid(33);
@ -326,7 +330,7 @@ class user_repository_test extends \advanced_testcase {
$instructoruser->id,
$saveduser->get_deploymentid(),
'another-user-123',
'en',
$CFG->lang,
'99',
'Perth',
'AU',
@ -390,6 +394,7 @@ class user_repository_test extends \advanced_testcase {
* @covers ::delete_by_deployment
*/
public function test_delete_by_deployment() {
global $CFG;
$this->resetAfterTest();
$user = $this->generate_user();
$userrepo = new user_repository();
@ -402,7 +407,7 @@ class user_repository_test extends \advanced_testcase {
$instructoruser->id,
$saveduser->get_deploymentid(),
'another-user-123',
'en',
$CFG->lang,
'99',
'Perth',
'AU',
@ -415,7 +420,7 @@ class user_repository_test extends \advanced_testcase {
$instructor2user->id,
$saveduser->get_deploymentid() + 1,
'another-user-678',
'en',
$CFG->lang,
'99',
'Melbourne',
'AU',