. /** * Privacy tests for theme_boost. * * @package theme_boost * @category test * @copyright 2018 Adrian Greeve * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); use \theme_boost\privacy\provider; /** * Unit tests for theme_boost/classes/privacy/policy * * @copyright 2018 Adrian Greeve * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class theme_boost_privacy_testcase extends \core_privacy\tests\provider_testcase { /** * Test for provider::test_export_user_preferences(). */ public function test_export_user_preferences() { $this->resetAfterTest(); // Test setup. $user = $this->getDataGenerator()->create_user(); $this->setUser($user); // Add a user home page preference for the User. set_user_preference(provider::DRAWER_OPEN_NAV, 'false', $user); // Test the user preferences export contains 1 user preference record for the User. provider::export_user_preferences($user->id); $contextuser = context_user::instance($user->id); $writer = \core_privacy\local\request\writer::with_context($contextuser); $this->assertTrue($writer->has_any_data()); $exportedpreferences = $writer->get_user_preferences('theme_boost'); $this->assertCount(1, (array) $exportedpreferences); $this->assertEquals('false', $exportedpreferences->{provider::DRAWER_OPEN_NAV}->value); $this->assertEquals(get_string('privacy:drawernavclosed', 'theme_boost'), $exportedpreferences->{provider::DRAWER_OPEN_NAV}->description); // Add a user home page preference for the User. set_user_preference(provider::DRAWER_OPEN_NAV, 'true', $user); // Test the user preferences export contains 1 user preference record for the User. provider::export_user_preferences($user->id); $contextuser = context_user::instance($user->id); $writer = \core_privacy\local\request\writer::with_context($contextuser); $this->assertTrue($writer->has_any_data()); $exportedpreferences = $writer->get_user_preferences('theme_boost'); $this->assertCount(1, (array) $exportedpreferences); $this->assertEquals('true', $exportedpreferences->{provider::DRAWER_OPEN_NAV}->value); $this->assertEquals(get_string('privacy:drawernavopen', 'theme_boost'), $exportedpreferences->{provider::DRAWER_OPEN_NAV}->description); } }