/**
  * @dataProvider  provide_save_data
  *
  * @param bool    $response
  * @param WP_Post $post
  * @param bool    $is_nonce_valid
  * @param bool    $is_post_revision
  * @param int     $user_can_times
  * @param bool    $user_can
  * @param int     $update_times
  */
 public function test_save($response, WP_Post $post, $is_nonce_valid, $is_post_revision, $user_can_times, $user_can, $update_times)
 {
     $post_type = Mockery::mock('tfrommen\\ExternalContent\\Models\\PostType');
     $post_type->shouldReceive('get_post_type')->andReturn('post_type');
     $nonce = Mockery::mock('tfrommen\\ExternalContent\\Models\\Nonce');
     $nonce->shouldReceive('is_valid')->andReturn($is_nonce_valid);
     $meta_key = 'meta_key';
     WP_Mock::onFilter('external_content_meta_key')->with('_external_content')->reply($meta_key);
     WP_Mock::wpPassthruFunction('esc_attr', array('times' => 1, 'args' => array(WP_Mock\Functions::type('string'))));
     /** @var tfrommen\ExternalContent\Models\PostType $post_type */
     /** @var tfrommen\ExternalContent\Models\Nonce $nonce */
     $testee = new Testee($post_type, $nonce);
     WP_Mock::wpFunction('wp_is_post_revision', array('times' => 1, 'args' => array(WP_Mock\Functions::type('int')), 'return' => $is_post_revision));
     WP_Mock::wpFunction('current_user_can', array('times' => $user_can_times, 'args' => array('edit_post', WP_Mock\Functions::type('int')), 'return' => $user_can));
     $meta_value = 'meta_value';
     $_POST[$meta_key] = $meta_value;
     WP_Mock::wpFunction('update_post_meta', array('times' => $update_times, 'args' => array(WP_Mock\Functions::type('int'), $meta_key, $meta_value), 'return' => $response));
     /** @var WP_Post $post */
     $this->assertSame($response, $testee->save(42, $post));
     $this->assertConditionsMet();
 }
Beispiel #2
0
 /**
  * Constructor. Set up the properties.
  *
  * @param Model         $model     Model.
  * @param PostTypeModel $post_type Post type model.
  * @param NonceModel    $nonce     Nonce model.
  */
 public function __construct(Model $model, PostTypeModel $post_type, NonceModel $nonce)
 {
     $this->meta_key = $model->get_meta_key();
     $this->post_type = $post_type->get_post_type();
     $this->nonce = $nonce;
 }