1, 'type' => Newsletter::TYPE_NOTIFICATION_HISTORY ); $rendered_newsletter = array( 'html' => 'Sample newsletter' ); expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(false); } function testItCanExtractAndSavePosts() { $post_id = 10; $newsletter = (object)array( 'id' => 2, 'parent_id' => 1, 'type' => Newsletter::TYPE_NOTIFICATION_HISTORY ); $rendered_newsletter = array( 'html' => 'sample post' ); expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(true); $newsletter_post = NewsletterPost::where('newsletter_id', $newsletter->parent_id) ->findOne(); expect($newsletter_post->post_id)->equals($post_id); } function testItDoesNotSavePostsWhenNewsletterIsNotANotificationHistory() { $post_id = 10; $newsletter = (object)array( 'id' => 2, 'parent_id' => 1, 'type' => Newsletter::TYPE_WELCOME ); $rendered_newsletter = array( 'html' => 'sample post' ); expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(false); $newsletter->type = Newsletter::TYPE_STANDARD; expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(false); } function _after() { \ORM::raw_execute('TRUNCATE ' . NewsletterPost::$_table); } }