Skip to content
Snippets Groups Projects
QueryByUserIdTest.php 1.15 KiB
Newer Older
<?php
namespace calderawp\CalderaFormsQuery\Tests\Integration\Features;


use calderawp\CalderaFormsQuery\QueriesEntries;
use calderawp\CalderaFormsQuery\Tests\Integration\IntegrationTestCase;
use calderawp\CalderaFormsQuery\Tests\Traits\CanCreateEntryWithEmailField;

class QueryByUserIdTest extends IntegrationTestCase
{

	use CanCreateEntryWithEmailField;

	/**
	 * Test selecting by entry ID
	 *
	 * @covers QueriesEntries::selectByUserId()
	 */
	public function testByUserId()
	{
		$email = 'nom@noms.noms';
		//Create an entry for a known user.
		$userId = $this->factory()->user->create(
			[ 'user_email' => $email ]
		);
		wp_set_current_user( $userId );
		$entryId = $this->createEntryWithEmail( $email );
		$queries = $this->entryQueriesFactory();

		$results = $queries->selectByUserId( $userId );
		$this->assertEquals( $entryId, $results[0]['entry']->id);
		$this->assertEquals( $entryId, $results[0]['entry']->id);

		$found = false;
		foreach ( $results[0]['values'] as $entryValue )
		{
			if( $entryValue->slug === $this->getEmailFieldSlug() ){
				$this->assertSame( $email, $entryValue->value );
				$found = true;
			}
		}

		$this->assertTrue( $found );

	}
}