X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fcore%2Fmodules%2Fuser%2Ftests%2Fsrc%2FFunctional%2FUserSaveTest.php;fp=web%2Fcore%2Fmodules%2Fuser%2Ftests%2Fsrc%2FFunctional%2FUserSaveTest.php;h=c693b39cefeee886351f99f8e45ca45cb387a04e;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/core/modules/user/tests/src/Functional/UserSaveTest.php b/web/core/modules/user/tests/src/Functional/UserSaveTest.php new file mode 100644 index 000000000..c693b39ce --- /dev/null +++ b/web/core/modules/user/tests/src/Functional/UserSaveTest.php @@ -0,0 +1,61 @@ +getStorage('user')->getQuery() + ->sort('uid', 'DESC') + ->range(0, 1) + ->execute(); + $max_uid = reset($uids); + $test_uid = $max_uid + mt_rand(1000, 1000000); + $test_name = $this->randomMachineName(); + + // Create the base user, based on drupalCreateUser(). + $user = User::create([ + 'name' => $test_name, + 'uid' => $test_uid, + 'mail' => $test_name . '@example.com', + 'pass' => user_password(), + 'status' => 1, + ]); + $user->enforceIsNew(); + $user->save(); + + // Test if created user exists. + $user_by_uid = User::load($test_uid); + $this->assertTrue($user_by_uid, 'Loading user by uid.'); + + $user_by_name = user_load_by_name($test_name); + $this->assertTrue($user_by_name, 'Loading user by name.'); + } + + /** + * Ensures that an existing password is unset after the user was saved. + */ + public function testExistingPasswordRemoval() { + /** @var \Drupal\user\Entity\User $user */ + $user = User::create(['name' => $this->randomMachineName()]); + $user->save(); + $user->setExistingPassword('existing password'); + $this->assertNotNull($user->pass->existing); + $user->save(); + $this->assertNull($user->pass->existing); + } + +}