Example #1
0
 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);
 }
Example #2
0
 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;
 }