Skip to content

Commit

Permalink
test(acceptance) cover immediate registration
Browse files Browse the repository at this point in the history
  • Loading branch information
lucatume committed May 3, 2024
1 parent a11ce81 commit 49a903d
Show file tree
Hide file tree
Showing 6 changed files with 86 additions and 0 deletions.
Empty file added tests/_data/css/module-one.css
Empty file.
Empty file added tests/_data/css/module-two.css
Empty file.
13 changes: 13 additions & 0 deletions tests/_data/immediate-enqueue-template.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

require_once WP_CONTENT_DIR . '/plugins/assets/vendor/autoload.php';

use StellarWP\Assets\Asset;
use StellarWP\Assets\Assets;
use StellarWP\Assets\Config;

Config::set_path( WP_CONTENT_DIR . '/plugins/assets/' );
Config::set_relative_asset_path( 'tests/_data/' );
Config::set_hook_prefix( 'bork' );
Config::set_version( '1.0.0' );
Assets::init();
Empty file added tests/_data/js/module-one.js
Empty file.
Empty file added tests/_data/js/module-two.js
Empty file.
73 changes: 73 additions & 0 deletions tests/acceptance/RegisterBeforeInitCest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?php

namespace StellarWP\Assets\Tests;

use AcceptanceTester;

class RegisterBeforeInitCest {
public function it_should_register_and_enqueue_js_before_init( AcceptanceTester $I ) {
$code = file_get_contents( codecept_data_dir( 'immediate-enqueue-template.php' ) );
$code .= <<<PHP
Asset::add( 'fake-js', 'fake.js' )
->enqueue_on( 'wp_enqueue_scripts' )
->register();
PHP;

$I->haveMuPlugin( 'enqueue.php', $code );

$I->amOnPage( '/' );
$I->seeElement( 'script', [ 'src' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/js/fake.js?ver=1.0.0' ] );
}

public function it_should_register_and_enqueue_css_before_init( AcceptanceTester $I ) {
$code = file_get_contents( codecept_data_dir( 'immediate-enqueue-template.php' ) );
$code .= <<<PHP
Asset::add( 'fake-css', 'fake.css' )
->enqueue_on( 'wp_enqueue_scripts' )
->register();
PHP;

$I->haveMuPlugin( 'enqueue.php', $code );

$I->amOnPage( '/' );
$I->seeElement( 'link', [ 'href' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/css/fake.css?ver=1.0.0' ] );
}

public function is_should_register_and_enqueue_js_with_dependencies_before_init( AcceptanceTester $I ) {
$code = file_get_contents( codecept_data_dir( 'immediate-enqueue-template.php' ) );
$code .= <<<PHP
Asset::add( 'module-one', 'module-one.js' )->register();
Asset::add( 'module-two', 'module-two.js' )->register();
Asset::add( 'fake-js', 'fake.js' )
->set_dependencies( 'module-one', 'module-two' )
->enqueue_on( 'wp_enqueue_scripts' )
->register();
PHP;

$I->haveMuPlugin( 'enqueue.php', $code );

$I->amOnPage( '/' );
$I->seeElement( 'script', [ 'src' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/js/module-one.js?ver=1.0.0' ] );
$I->seeElement( 'script', [ 'src' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/js/module-two.js?ver=1.0.0' ] );
$I->seeElement( 'script', [ 'src' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/js/fake.js?ver=1.0.0' ] );
}

public function it_should_register_and_enqueue_css_with_dependencies_before_init( AcceptanceTester $I ) {
$code = file_get_contents( codecept_data_dir( 'immediate-enqueue-template.php' ) );
$code .= <<<PHP
Asset::add( 'module-one', 'module-one.css' )->register();
Asset::add( 'module-two', 'module-two.css' )->register();
Asset::add( 'fake-css', 'fake.css' )
->set_dependencies( 'module-one', 'module-two' )
->enqueue_on( 'wp_enqueue_scripts' )
->register();
PHP;

$I->haveMuPlugin( 'enqueue.php', $code );

$I->amOnPage( '/' );
$I->seeElement( 'link', [ 'href' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/css/module-one.css?ver=1.0.0' ] );
$I->seeElement( 'link', [ 'href' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/css/module-two.css?ver=1.0.0' ] );
$I->seeElement( 'link', [ 'href' => 'http://wordpress.test/wp-content/plugins/assets/tests/_data/css/fake.css?ver=1.0.0' ] );
}
}

0 comments on commit 49a903d

Please sign in to comment.