public function testCreateUserDefaultMethod() { $user = new User(['username' => 'foo']); $this->assertFalse($user->isValid()); $this->assertEquals(['email' => ['Is not a valid email address']], $user->getErrors()); $user->email = '*****@*****.**'; $this->assertTrue($user->isValid()); $this->assertEquals([], $user->getErrors()); $this->assertTrue($user->save()); $this->assertEquals(1, $user->pk); $this->assertEquals('foo', $user->username); $this->assertNull($user->password); $this->assertFalse($user->is_staff); $this->assertFalse($user->is_superuser); // Mails don't send automatically $this->assertEquals([], $this->app->mail->out); }
public function actionMigrate() { foreach (BitrixUser::objects()->using('bitrix')->batch(30) as $models) { foreach ($models as $model) { $phones = array_filter([self::convert($model->PERSONAL_PHONE), self::convert($model->PERSONAL_MOBILE)]); $profile = new Profile(['first_name' => self::convert($model->NAME), 'last_name' => self::convert($model->LAST_NAME), 'middle_name' => self::convert($model->SECOND_NAME), 'birthday' => self::convert($model->PERSONAL_BIRTHDAY), 'phone' => empty($phones) ? '' : implode(', ', $phones)]); $profile->save(); $user = new User(['username' => self::convert($model->LOGIN), 'email' => self::convert($model->EMAIL), 'is_active' => $model->getIsActive(), 'password' => self::convert($model->PASSWORD), 'hash_type' => 'bitrix', 'profile' => $profile]); $user->save(); list($city, $created) = City::objects()->getOrCreate(['name' => self::convert($model->PERSONAL_CITY), 'country_id' => 1, 'region_id' => 1]); $address = new UserAddress(['city' => $city, 'address' => self::convert($model->PERSONAL_STREET), 'user' => $user, 'house' => '?', 'apartment' => '?']); $address->save(); if (!empty($model->XML_ID)) { $social = new SocialProfile(['user' => $user, 'social_id' => $model->XML_ID, 'info' => '']); $social->save(); } } } echo 'Memory in use: ' . memory_get_usage() . ' (' . memory_get_usage() / 1024 / 1024 . 'M)' . PHP_EOL; echo 'Peak usage: ' . memory_get_peak_usage() . ' (' . memory_get_peak_usage() / 1024 / 1024 . 'M)' . PHP_EOL; }