/** * @return Project * @throws ModelValidateException */ public function actionCreate() { $project = new Project(); $data = \Yii::$app->getRequest()->post(); $data['owner_id'] = \Yii::$app->getUser()->getId(); if ($project->create($data)) { return $project; } else { throw new ModelValidateException($project); } }
public function testCreate() { $projectId = null; \Yii::$app->on(Project::EVENT_CREATED, function ($event) use(&$projectId) { $projectId = $event->project->getId(); }); $user = $this->users(1); $data = ['id' => 0, 'name' => 'test name', 'description' => 'test description', 'owner_id' => $user->getId(), 'member_count' => 11, 'ticket_count' => 11, 'last_activity' => '2000-01-01 00:00:00']; $project = new Project(); $this->assertTrue($project->create($data)); $this->assertNotEquals($data['id'], $projectId); $this->assertEquals($project->getId(), $projectId); $this->assertEquals($data['name'], $project->getName()); $this->assertEquals($data['description'], $project->getDescription()); $this->assertEquals($data['owner_id'], $project->getOwnerId()); $this->assertEquals($project->member_count, 1); $this->assertEquals($project->ticket_count, 0); $this->assertNotEquals($data['last_activity'], $project->getLastActivity()); }