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:
70
modules/backend/tests/models/ImportModelTest.php
Normal file
70
modules/backend/tests/models/ImportModelTest.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace Backend\Tests\Models;
|
||||
|
||||
use System\Tests\Bootstrap\PluginTestCase;
|
||||
use Backend\Models\ImportModel;
|
||||
use System\Models\File as FileModel;
|
||||
|
||||
if (!class_exists('Model')) {
|
||||
class_alias('Winter\Storm\Database\Model', 'Model');
|
||||
}
|
||||
|
||||
class ExampleImportModel extends ImportModel
|
||||
{
|
||||
public $rules = [];
|
||||
|
||||
public function importData($results, $sessionKey = null)
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
class ImportModelTest extends PluginTestCase
|
||||
{
|
||||
|
||||
//
|
||||
// Tests
|
||||
//
|
||||
|
||||
public function testDecodeArrayValue()
|
||||
{
|
||||
$model = new ExampleImportModel;
|
||||
$data = 'foo|bar';
|
||||
$result = self::callProtectedMethod($model, 'decodeArrayValue', [$data]);
|
||||
$this->assertEquals(['foo', 'bar'], $result);
|
||||
|
||||
$data = 'dps \| heals \| tank|paladin|berserker|gunner';
|
||||
$result = self::callProtectedMethod($model, 'decodeArrayValue', [$data]);
|
||||
$this->assertEquals(['dps | heals | tank', 'paladin', 'berserker', 'gunner'], $result);
|
||||
|
||||
$data = 'art direction-roman empire-sci\-fi';
|
||||
$result = self::callProtectedMethod($model, 'decodeArrayValue', [$data, '-']);
|
||||
$this->assertEquals(['art direction', 'roman empire', 'sci-fi'], $result);
|
||||
}
|
||||
|
||||
public function testGetImportFilePath()
|
||||
{
|
||||
$model = new ExampleImportModel;
|
||||
$sessionKey = uniqid('session_key', true);
|
||||
|
||||
$file1 = FileModel::create([
|
||||
'data' => base_path().'/modules/backend/tests/fixtures/reference/file1.txt',
|
||||
'is_public' => false,
|
||||
]);
|
||||
|
||||
$file2 = FileModel::create([
|
||||
'data' => base_path().'/modules/backend/tests/fixtures/reference/file2.txt',
|
||||
'is_public' => false,
|
||||
]);
|
||||
|
||||
$model->import_file()->add($file1, $sessionKey);
|
||||
$model->import_file()->add($file2, $sessionKey);
|
||||
|
||||
$this->assertEquals(
|
||||
$file2->getLocalPath(),
|
||||
$model->getImportFilePath($sessionKey),
|
||||
'ImportModel::getImportFilePath() should return the last uploaded file.'
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user