public function testExport() { Artisan::call('ab:install'); Experiment::find('a')->update(['visitors' => 153, 'engagement' => 35]); Goal::create(['name' => 'foo', 'experiment' => 'a', 'count' => 42]); $output = new Symfony\Component\Console\Output\BufferedOutput(); Artisan::call('ab:export', [], $output); $report = $output->fetch(); $this->assertContains('Foo', $report); $this->assertContains('153', $report); $this->assertContains('35', $report); $this->assertContains('42', $report); $output = new Symfony\Component\Console\Output\BufferedOutput(); Artisan::call('ab:export', ['file' => '/tmp/test.csv'], $output); $report = $output->fetch(); $this->assertContains('Creating /tmp/test.csv', $report); }
public function testFirstPageView() { // Register fake named route Route::any('/foobar', function () { return 'hello world'; }); $headers = Request::instance()->server->getHeaders(); $request = Request::create('http://localhost/foobar', 'get', [], [], [], $headers); Route::dispatch($request); $ab = App::make('ab'); $ab->track($request); $ab->experiment(); $this->assertEquals(1, Experiment::find('a')->visitors); $this->assertEquals(0, Experiment::find('a')->engagement); }