/**
  * @covers ::save_session
  */
 public function test_save_session()
 {
     $visitor = $this->getMock('Model_Visitor', array('check_insist'), array('visitor'));
     $visitor->set(array('token' => '123'));
     $visitor->expects($this->once())->method('check_insist');
     $visitor->save_session();
     $loaded = Model_Visitor::session();
     $this->assertEquals($loaded->as_array(), $visitor->as_array());
 }
 /**
  * Get the query parameters required to transport current visitor accross domains
  * @return array
  */
 public function visitor_params()
 {
     if (!$this->config('unified_visitor', TRUE)) {
         return array();
     }
     $visitor = Model_Visitor::load();
     if (!$visitor->loaded()) {
         $visitor->save();
     }
     $params = array('_SV_VISITOR_TOKEN' => $visitor->token);
     return $params;
 }
 /**
  * @dataProvider data_secure_uri
  * @covers ::secure_uri
  */
 public function test_secure_uri($domain, $https, $uri, $expected)
 {
     $this->env->backup_and_set(array('site-versions.versions' => array('test' => array('domain' => 'best.example.com', 'secure_domain' => 'best.secure.example.com')), 'HTTP_HOST' => $domain, 'HTTPS' => $https));
     $visitor = Model_Visitor::load();
     $visitor->token = '53a0216a7ba6f';
     $version = new Site_Version('test');
     $uri = $version->secure_uri($uri);
     $this->assertEquals($expected, $uri);
 }