public function testCreateContentShouldBePersistedWhenAllValidationPassed() { $loggedInUser = $this->createUserAndLoggedIn(); $contentType = $this->createContentType(); // dummy request $request = Request::create('', 'GET', array('title' => 'Some Title', 'body' => 'Some Body', 'slug' => 'some-slug', 'status' => 'published', 'authorId' => $loggedInUser->id, 'contentTypeId' => $contentType->id, 'taxonomies' => array(), 'metaData' => array('form_1' => array('meta1' => 'meta value 1', 'meta2' => 'meta value 2')), 'miscData' => array())); // begin $result = $this->commandDispatcher->dispatchFrom(Darryldecode\Backend\Components\ContentBuilder\Commands\CreateContentCommand::class, $request); $this->assertTrue($result->isSuccessful()); $this->assertEquals(201, $result->getStatusCode()); $this->assertEquals('Content successfully created.', $result->getMessage()); // prove it exist $content = Content::with('metaData')->find($result->getData()->id); $this->assertEquals('Some Title', $content->title); $this->assertEquals('Some Body', $content->body); $this->assertEquals('some-slug', $content->slug); //$this->assertEquals('published', $content->status); this passed but annoying for IDE mapper giving error $this->assertEquals($loggedInUser->id, $content->author_id); $this->assertEquals($contentType->id, $content->content_type_id); $contentMeta = Content::parseMetaData($content->metaData->toArray()); $this->assertCount(2, $contentMeta['form_1']); $this->assertArrayHasKey('meta1', $contentMeta['form_1']); $this->assertArrayHasKey('meta2', $contentMeta['form_1']); }