Example #1
0
 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());
 }
Example #2
0
 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());
 }