/** * @param array $signupData */ public function submit(array $signupData) { $signupForm = new SignupForm(); foreach ($signupData as $field => $value) { $inputType = $field === 'body' ? 'textarea' : 'input'; $this->actor->fillField($inputType . '[name="' . $signupForm->formName() . '[' . $field . ']"]', $value); } $this->actor->click('signup-button'); }
public function actionSignup() { $client = Yii::$app->authClientCollection->getActiveClient(); $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { if (Yii::$app->getUser()->login($user)) { if ($client) { RemoteUser::set($client, $user); } return $this->goHome(); } } } else { if ($client) { $model->load([$model->formName() => $client->getUserAttributes()]); } } return $this->render('signup', compact('model')); }