/** * Test for data_connector::getUserResultSourcedIDsResourceLink(). */ public function test_get_user_result_sourced_ids_resource_link() { $dc = new data_connector(); $consumer = new ToolConsumer(null, $dc); $consumer->name = 'testconsumername'; $consumer->setKey('TestKey'); $consumer->secret = 'testsecret'; $consumer->idScope = ToolProvider::ID_SCOPE_GLOBAL; $consumer->save(); $title = 'testcontexttitle'; $settings = ['a', 'b', 'c']; $lticontextid = 'testlticontextid'; $context = Context::fromConsumer($consumer, $lticontextid); $context->title = $title; $context->settings = $settings; $context->save(); $resourcelink = ResourceLink::fromConsumer($consumer, 'testresourcelinkid'); $resourcelink->setContextId($context->getRecordId()); $resourcelink->save(); $resourcelinkchild = ResourceLink::fromConsumer($consumer, 'testresourcelinkchildid'); $resourcelinkchild->primaryResourceLinkId = $resourcelink->getRecordId(); $resourcelinkchild->shareApproved = true; $resourcelinkchild->setContextId($context->getRecordId()); $resourcelinkchild->save(); $user = User::fromResourceLink($resourcelink, ''); $user->ltiResultSourcedId = 'testLtiResultSourcedId'; $user->ltiUserId = 'user1'; $dc->saveUser($user); $user2 = User::fromResourceLink($resourcelinkchild, ''); $user2->ltiResultSourcedId = 'testLtiResultSourcedId2'; $user->ltiUserId = 'user2'; $dc->saveUser($user2); $users = $dc->getUserResultSourcedIDsResourceLink($resourcelink, false, null); $this->assertNotEmpty($users); $this->assertCount(2, $users); $users = $dc->getUserResultSourcedIDsResourceLink($resourcelink, true, null); $this->assertNotEmpty($users); $this->assertCount(1, $users); $users = $dc->getUserResultSourcedIDsResourceLink($resourcelink, false, ToolProvider::ID_SCOPE_GLOBAL); $this->assertNotEmpty($users); $this->assertCount(2, $users); $users = $dc->getUserResultSourcedIDsResourceLink($resourcelink, true, ToolProvider::ID_SCOPE_GLOBAL); $this->assertNotEmpty($users); $this->assertCount(1, $users); }