/**
  * @covers GravityView_Edit_Entry::get_edit_link()
  */
 function test_get_edit_link()
 {
     $form = $this->factory->form->create_and_get();
     $editor = $this->factory->user->create_and_set(array('user_login' => 'editor', 'role' => 'editor'));
     $entry = $this->factory->entry->create_and_get(array('form_id' => $form['id'], 'created_by' => $editor->ID));
     $view = $this->factory->view->create_and_get(array('form_id' => $form['id'], 'settings' => array('user_edit' => 1)));
     $this->assertNotEmpty($view, 'There was an error creating the View');
     $post_title = new WP_UnitTest_Generator_Sequence(__METHOD__ . ' %s');
     $post_id = $this->factory->post->create(array('post_title' => $post_title->next(), 'post_content' => sprintf('[gravityview id="%d"]', $view->ID)));
     $nonce_key = GravityView_Edit_Entry::get_nonce_key($view->ID, $entry['form_id'], $entry['id']);
     $nonce = wp_create_nonce($nonce_key);
     ###
     ### NO POST
     ###
     $edit_link_no_post = GravityView_Edit_Entry::get_edit_link($entry, $view->ID);
     // A link to the raw
     $this->assertEquals('?page=gf_entries&view=entry&edit=' . $nonce, $edit_link_no_post);
     $args = array('p' => $post_id, 'entry' => $entry['id'], 'gvid' => $view->ID, 'page' => 'gf_entries', 'view' => 'entry', 'edit' => $nonce);
     // When running all tests, this test thinks we have multiple Views. Correct that.
     GravityView_View::getInstance()->setViewId($view->ID);
     ###
     ### WITH POST
     ###
     $edit_link_with_post = GravityView_Edit_Entry::get_edit_link($entry, $view->ID, $post_id);
     $this->assertEquals(add_query_arg($args, 'http://example.org/'), $edit_link_with_post);
 }
 /**
  * @covers GravityView_Entry_Link_Shortcode::shortcode
  */
 public function test_shortcode()
 {
     $form = $this->factory->form->create_and_get();
     $editor = $this->factory->user->create_and_set(array('user_login' => 'editor', 'role' => 'editor'));
     $entry = $this->factory->entry->create_and_get(array('form_id' => $form['id'], 'created_by' => $editor->ID));
     $view = $this->factory->view->create_and_get(array('form_id' => $form['id'], 'settings' => array('user_edit' => 1)));
     $this->assertNotEmpty($view, 'There was an error creating the View');
     $post_title = new WP_UnitTest_Generator_Sequence(__METHOD__ . ' %s');
     $post_id = $this->factory->post->create(array('post_title' => $post_title->next(), 'post_content' => sprintf('[gravityview id="%d"]', $view->ID)));
     $atts = array('post_id' => $post_id, 'entry_id' => $entry['id'], 'view_id' => $view->ID);
     $this->_test_read($view, $entry, $atts);
     $this->_test_edit($view, $entry, $atts);
     $this->_test_delete($view, $entry, $atts);
 }