public function testSetConversionStatic() { $request1 = $this->createRequest('/'); $request2 = $this->createRequest('/'); CM_Model_Splittest_RequestClient::setConversionStatic('foo', $request1); $splittest = CM_Model_Splittest_RequestClient::create('foo', ['bar']); /** @var CM_Model_SplittestVariation $variation */ $variation = $splittest->getVariations()->getItem(0); $splittest->isVariationFixture($request1, 'bar'); $splittest->isVariationFixture($request2, 'bar'); $this->assertSame(0, $variation->getConversionCount()); CM_Model_Splittest_RequestClient::setConversionStatic('foo', $request1); CMTest_TH::clearCache(); $this->assertSame(1, $variation->getConversionCount()); CM_Model_Splittest_RequestClient::setConversionStatic('foo', $request2, 2.5); CMTest_TH::clearCache(); $this->assertSame(1.75, $variation->getConversionRate()); }
public function testGetVariationListSorted() { /** @var CM_Model_Splittest $test */ $test = CM_Model_Splittest::create('foo', ['v1', 'v2']); $variationList = $test->getVariationListSorted(); $this->assertSame('v1', $variationList[0]->getName()); $this->assertSame('v2', $variationList[1]->getName()); $request = new CM_Http_Request_Get('/'); CM_Model_Splittest_RequestClient::isVariationFixtureStatic('foo', $request, 'v1'); CM_Model_Splittest_RequestClient::setConversionStatic('foo', $request); CMTest_TH::clearCache(); $variationList = $test->getVariationListSorted(); $this->assertTrue($variationList[0]->getConversionRate() > $variationList[1]->getConversionRate()); }