Fix Calc Papedruck
This commit is contained in:
parent
84a989ed60
commit
70eaae087e
@ -216,6 +216,11 @@ class Engine
|
||||
|
||||
$this->article = $this->getArticleByName($this->activeArticle);
|
||||
|
||||
if($this->article === null) {
|
||||
$this->dirty = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
// Prefill with defaults
|
||||
/** @var Base $option */
|
||||
foreach($this->article->getOptions() as $option) {
|
||||
|
||||
42
tests/Customer/G/CalcTest.php
Normal file
42
tests/Customer/G/CalcTest.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
namespace PSC\Library\Calc\Tests\Customer\G;
|
||||
|
||||
use PSC\Library\Calc\Article;
|
||||
use PSC\Library\Calc\Engine;
|
||||
use PSC\Library\Calc\PaperContainer;
|
||||
use PSC\Library\Calc\Tests\Mock\PaperRepostory;
|
||||
|
||||
class CalcTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
|
||||
/** @var Engine */
|
||||
protected $engine = null;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
$repository = new PaperRepostory();
|
||||
|
||||
$paperContainer = new PaperContainer();
|
||||
$paperContainer->parse(simplexml_load_string(file_get_contents(__DIR__ . '/papierContainer.xml')));
|
||||
|
||||
$this->engine = new Engine();
|
||||
$this->engine->setPaperContainer($paperContainer);
|
||||
$this->engine->setPaperRepository($repository);
|
||||
$this->engine->setFormulas(file_get_contents(__DIR__ . '/formels.txt'));
|
||||
$this->engine->setParameters(file_get_contents(__DIR__ . '/parameters.txt'));
|
||||
$this->engine->setTemplates(file_get_contents(__DIR__ . '/calcTemplates.xml'));
|
||||
|
||||
$this->engine->loadString(file_get_contents(__DIR__ . '/calc.xml'));
|
||||
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
$this->engine = null;
|
||||
}
|
||||
|
||||
public function testIfDefaultPriceIsOk()
|
||||
{
|
||||
$this->assertEquals(10.49 , $this->engine->getPrice());
|
||||
}
|
||||
}
|
||||
60
tests/Customer/G/calc.xml
Normal file
60
tests/Customer/G/calc.xml
Normal file
@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<kalkulation>
|
||||
<artikel>
|
||||
<name>Zubehör</name>
|
||||
<kommentar></kommentar>
|
||||
|
||||
<option id="auflage" name="Menge" type="Input" step="100" default="100" min="100" max="10000" help="Geben Sie die gewünschte Menge in 100 Stückschritten ein"/>
|
||||
|
||||
|
||||
<option id="variante" name="Kettenlänge" type="Select" default="10">
|
||||
<opt id="10" name="50 mm"></opt>
|
||||
<opt id="20" name="100 mm"></opt>
|
||||
<opt id="30" name="150 mm"></opt>
|
||||
<opt id="40" name="200 mm"></opt>
|
||||
<opt id="50" name="250 mm"></opt>
|
||||
<opt id="60" name="300 mm"></opt>
|
||||
</option>
|
||||
|
||||
<!-- Einzelpreisermittlung -->
|
||||
<option id="preisstaffel" name="preisstaffel" type="Hidden" default="10">
|
||||
<variante>
|
||||
<grenze formel="(0.41*(pow($Vauflage$V,-0.296))*$Vauflage$V)">10</grenze>
|
||||
<grenze formel="(0.36*(pow($Vauflage$V,-0.264))*$Vauflage$V)">20</grenze>
|
||||
<grenze formel="(0.46*(pow($Vauflage$V,-0.246))*$Vauflage$V)">30</grenze>
|
||||
<grenze formel="(0.51*(pow($Vauflage$V,-0.229))*$Vauflage$V)">40</grenze>
|
||||
<grenze formel="(0.59*(pow($Vauflage$V,-0.226))*$Vauflage$V)">50</grenze>
|
||||
<grenze formel="(0.63*(pow($Vauflage$V,-0.218))*$Vauflage$V)">60</grenze>
|
||||
</variante>
|
||||
</option>
|
||||
|
||||
|
||||
<!-- Preisberechung Basis Sprintis Online Staffel-->
|
||||
<option id="kosten_kugelkette" name="kosten_kugelkette" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="($CVpreisstaffel$CV*($Pzuschlag_zubehoer_extern$P))">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
<!-- Lieferzeit Gesamt DISPLAY -->
|
||||
<option id="lieferzeit_gesamt_display" name="lieferzeit_gesamt_display" type="Hidden" default="1" displayOnly="1">
|
||||
<auflage>
|
||||
<grenze formel="5">-1</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
|
||||
<!-- Gesamtgewicht -->
|
||||
<option id="weight" name="weight" type="Hidden" default="1">
|
||||
<variante>
|
||||
<grenze formel="($Vauflage$V*2)">10</grenze>
|
||||
<grenze formel="($Vauflage$V*3)">20</grenze>
|
||||
<grenze formel="($Vauflage$V*4)">30</grenze>
|
||||
<grenze formel="($Vauflage$V*5)">40</grenze>
|
||||
<grenze formel="($Vauflage$V*6)">50</grenze>
|
||||
<grenze formel="($Vauflage$V*7)">60</grenze>
|
||||
</variante>
|
||||
</option>
|
||||
|
||||
</artikel>
|
||||
</kalkulation>
|
||||
4
tests/Customer/G/calcTemplates.xml
Normal file
4
tests/Customer/G/calcTemplates.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<root>
|
||||
|
||||
|
||||
</root>
|
||||
0
tests/Customer/G/formels.txt
Normal file
0
tests/Customer/G/formels.txt
Normal file
4
tests/Customer/G/papierContainer.xml
Normal file
4
tests/Customer/G/papierContainer.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<container>
|
||||
|
||||
</container>
|
||||
0
tests/Customer/G/parameters.txt
Normal file
0
tests/Customer/G/parameters.txt
Normal file
Loading…
Reference in New Issue
Block a user