feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
This commit is contained in:
94
modules/system/tests/bootstrap/TestCase.php
Normal file
94
modules/system/tests/bootstrap/TestCase.php
Normal file
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace System\Tests\Bootstrap;
|
||||
|
||||
use ReflectionClass;
|
||||
use PHPUnit\Framework\Assert;
|
||||
|
||||
class TestCase extends \Illuminate\Foundation\Testing\TestCase
|
||||
{
|
||||
/**
|
||||
* Creates the application.
|
||||
*
|
||||
* @return \Illuminate\Foundation\Application
|
||||
*/
|
||||
public function createApplication()
|
||||
{
|
||||
$app = require __DIR__ . '/../../../../bootstrap/app.php';
|
||||
|
||||
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
|
||||
|
||||
$app['cache']->setDefaultDriver('array');
|
||||
$app->setLocale('en');
|
||||
|
||||
// Set random encryption key
|
||||
$app['config']->set('app.key', bin2hex(random_bytes(16)));
|
||||
|
||||
return $app;
|
||||
}
|
||||
|
||||
//
|
||||
// Helpers
|
||||
//
|
||||
|
||||
protected static function callProtectedMethod($object, $name, $params = [])
|
||||
{
|
||||
$className = get_class($object);
|
||||
$class = new ReflectionClass($className);
|
||||
$method = $class->getMethod($name);
|
||||
$method->setAccessible(true);
|
||||
return $method->invokeArgs($object, $params);
|
||||
}
|
||||
|
||||
public static function getProtectedProperty($object, $name)
|
||||
{
|
||||
$className = get_class($object);
|
||||
$class = new ReflectionClass($className);
|
||||
$property = $class->getProperty($name);
|
||||
$property->setAccessible(true);
|
||||
return $property->getValue($object);
|
||||
}
|
||||
|
||||
public static function setProtectedProperty($object, $name, $value)
|
||||
{
|
||||
$className = get_class($object);
|
||||
$class = new ReflectionClass($className);
|
||||
$property = $class->getProperty($name);
|
||||
$property->setAccessible(true);
|
||||
return $property->setValue($object, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Stub for `assertFileNotExists` to allow compatibility with both PHPUnit 8 and 9.
|
||||
*
|
||||
* @param string $filename
|
||||
* @param string $message
|
||||
* @return void
|
||||
*/
|
||||
public static function assertFileNotExists(string $filename, string $message = ''): void
|
||||
{
|
||||
if (method_exists(Assert::class, 'assertFileDoesNotExist')) {
|
||||
Assert::assertFileDoesNotExist($filename, $message);
|
||||
return;
|
||||
}
|
||||
|
||||
Assert::assertFileNotExists($filename, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Stub for `assertRegExp` to allow compatibility with both PHPUnit 8 and 9.
|
||||
*
|
||||
* @param string $filename
|
||||
* @param string $message
|
||||
* @return void
|
||||
*/
|
||||
public static function assertRegExp(string $pattern, string $string, string $message = ''): void
|
||||
{
|
||||
if (method_exists(Assert::class, 'assertMatchesRegularExpression')) {
|
||||
Assert::assertMatchesRegularExpression($pattern, $string, $message);
|
||||
return;
|
||||
}
|
||||
|
||||
Assert::assertRegExp($pattern, $string, $message);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user