-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from comocode/travis
adding travis file and starting to build test
- Loading branch information
Showing
10 changed files
with
474 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
language: php | ||
|
||
php: | ||
- 5.6 | ||
- 5.5 | ||
- hhvm | ||
|
||
before_install: | ||
- composer self-update | ||
- composer create-project laravel/laravel | ||
- cd ./laravel | ||
- composer require comocode/laravel-ab dev-travis | ||
- composer update | ||
- touch storage/database.sqlite | ||
- cp ./vendor/comocode/laravel-ab/tests/source/laravel/app.php ./config/app.php | ||
- cp ./vendor/comocode/laravel-ab/tests/source/laravel/database.php ./config/database.php | ||
- cp ./vendor/comocode/laravel-ab/tests/source/laravel/routes.php ./app/Http/routes.php | ||
- php artisan ab:migrate | ||
- nohup php artistan serve & | ||
|
||
script: "phpunit ./vendor/comocode/laravel-ab/tests/AbTests.php" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
<?php | ||
|
||
use Illuminate\Foundation\Testing\WithoutMiddleware; | ||
use Illuminate\Foundation\Testing\DatabaseMigrations; | ||
use Illuminate\Foundation\Testing\DatabaseTransactions; | ||
use Illuminate\View\Compilers\BladeCompiler; | ||
|
||
use ComoCode\LaravelAb\App\Experiments; | ||
use ComoCode\LaravelAb\App\Instance; | ||
use ComoCode\LaravelAb\App\Events; | ||
use ComoCode\LaravelAb\App\Goal; | ||
use ComoCode\LaravelAb\App\Ab; | ||
|
||
class ExampleTest extends TestCase | ||
{ | ||
/** | ||
* A basic functional test example. | ||
* | ||
* @return void | ||
*/ | ||
|
||
public function testDefaultCreation(){ | ||
|
||
$ab = app()->make('Ab'); | ||
$instance = $ab->experiment('Test'); | ||
$instance->condition('one'); | ||
echo "condition 1"; | ||
$instance->condition('two'); | ||
echo "condition 2"; | ||
$instance->track('goal'); | ||
$ab->goal('goal'); | ||
|
||
Ab::saveSession(); | ||
|
||
|
||
$experiments = Experiments::where(['experiment'=>'Test'])->get(); | ||
|
||
$goals = Goal::where(['goal'=>'goal'])->get(); | ||
|
||
$experiment = $experiments->first(); | ||
|
||
$this->assertEquals($experiments->count(),1); | ||
$this->assertEquals($experiment->events()->count(), 1); | ||
|
||
$this->assertEquals($goals->count(),1); | ||
|
||
} | ||
|
||
public function testNestedView() | ||
{ | ||
$this->visit('/') | ||
->see('Test-') | ||
->dontSee('@ab'); | ||
|
||
Ab::saveSession(); | ||
|
||
$test1_experiments = Experiments::where(['experiment'=>'test1'])->get(); | ||
$test2_experiments = Experiments::where(['experiment'=>'test2'])->get(); | ||
|
||
$test1 = $test1_experiments->first(); | ||
$test2 = $test2_experiments->first(); | ||
|
||
$this->assertEquals($test1_experiments->count(), 1); | ||
$this->assertEquals($test1->events()->count(), 1); | ||
|
||
$this->assertEquals($test2_experiments->count(), 1); | ||
$this->assertEquals($test2->events()->count(), 1); | ||
|
||
|
||
|
||
} | ||
|
||
|
||
public function testWeighted() | ||
{ | ||
$this->visit('/weight') | ||
->see('YES-SEE-THIS') | ||
->dontSee('DONT-SEE-THIS'); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
<?php | ||
|
||
return [ | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Application Debug Mode | ||
|-------------------------------------------------------------------------- | ||
| | ||
| When your application is in debug mode, detailed error messages with | ||
| stack traces will be shown on every error that occurs within your | ||
| application. If disabled, a simple generic error page is shown. | ||
| | ||
*/ | ||
|
||
'debug' => true, | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Application URL | ||
|-------------------------------------------------------------------------- | ||
| | ||
| This URL is used by the console to properly generate URLs when using | ||
| the Artisan command line tool. You should set this to the root of | ||
| your application so that it is used when running Artisan tasks. | ||
| | ||
*/ | ||
|
||
'url' => 'http://localhost:8000', | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Application Timezone | ||
|-------------------------------------------------------------------------- | ||
| | ||
| Here you may specify the default timezone for your application, which | ||
| will be used by the PHP date and date-time functions. We have gone | ||
| ahead and set this to a sensible default for you out of the box. | ||
| | ||
*/ | ||
|
||
'timezone' => 'UTC', | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Application Locale Configuration | ||
|-------------------------------------------------------------------------- | ||
| | ||
| The application locale determines the default locale that will be used | ||
| by the translation service provider. You are free to set this value | ||
| to any of the locales which will be supported by the application. | ||
| | ||
*/ | ||
|
||
'locale' => 'en', | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Application Fallback Locale | ||
|-------------------------------------------------------------------------- | ||
| | ||
| The fallback locale determines the locale to use when the current one | ||
| is not available. You may change the value to correspond to any of | ||
| the language folders that are provided through your application. | ||
| | ||
*/ | ||
|
||
'fallback_locale' => 'en', | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Encryption Key | ||
|-------------------------------------------------------------------------- | ||
| | ||
| This key is used by the Illuminate encrypter service and should be set | ||
| to a random, 32 character string, otherwise these encrypted strings | ||
| will not be safe. Please do this before deploying an application! | ||
| | ||
*/ | ||
|
||
'key' => env('APP_KEY', 'SomeRandomString'), | ||
|
||
'cipher' => 'AES-256-CBC', | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Logging Configuration | ||
|-------------------------------------------------------------------------- | ||
| | ||
| Here you may configure the log settings for your application. Out of | ||
| the box, Laravel uses the Monolog PHP logging library. This gives | ||
| you a variety of powerful log handlers / formatters to utilize. | ||
| | ||
| Available Settings: "single", "daily", "syslog", "errorlog" | ||
| | ||
*/ | ||
|
||
'log' => 'single', | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Autoloaded Service Providers | ||
|-------------------------------------------------------------------------- | ||
| | ||
| The service providers listed here will be automatically loaded on the | ||
| request to your application. Feel free to add your own services to | ||
| this array to grant expanded functionality to your applications. | ||
| | ||
*/ | ||
|
||
'providers' => [ | ||
|
||
/* | ||
* Laravel Framework Service Providers... | ||
*/ | ||
Illuminate\Foundation\Providers\ArtisanServiceProvider::class, | ||
Illuminate\Auth\AuthServiceProvider::class, | ||
Illuminate\Broadcasting\BroadcastServiceProvider::class, | ||
Illuminate\Bus\BusServiceProvider::class, | ||
Illuminate\Cache\CacheServiceProvider::class, | ||
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, | ||
Illuminate\Routing\ControllerServiceProvider::class, | ||
Illuminate\Cookie\CookieServiceProvider::class, | ||
Illuminate\Database\DatabaseServiceProvider::class, | ||
Illuminate\Encryption\EncryptionServiceProvider::class, | ||
Illuminate\Filesystem\FilesystemServiceProvider::class, | ||
Illuminate\Foundation\Providers\FoundationServiceProvider::class, | ||
Illuminate\Hashing\HashServiceProvider::class, | ||
Illuminate\Mail\MailServiceProvider::class, | ||
Illuminate\Pagination\PaginationServiceProvider::class, | ||
Illuminate\Pipeline\PipelineServiceProvider::class, | ||
Illuminate\Queue\QueueServiceProvider::class, | ||
Illuminate\Redis\RedisServiceProvider::class, | ||
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, | ||
Illuminate\Session\SessionServiceProvider::class, | ||
Illuminate\Translation\TranslationServiceProvider::class, | ||
Illuminate\Validation\ValidationServiceProvider::class, | ||
Illuminate\View\ViewServiceProvider::class, | ||
|
||
/* | ||
* Application Service Providers... | ||
*/ | ||
App\Providers\AppServiceProvider::class, | ||
App\Providers\AuthServiceProvider::class, | ||
App\Providers\EventServiceProvider::class, | ||
App\Providers\RouteServiceProvider::class, | ||
ComoCode\LaravelAb\LaravelAbServiceProvider::class | ||
|
||
], | ||
|
||
/* | ||
|-------------------------------------------------------------------------- | ||
| Class Aliases | ||
|-------------------------------------------------------------------------- | ||
| | ||
| This array of class aliases will be registered when this application | ||
| is started. However, feel free to register as many as you wish as | ||
| the aliases are "lazy" loaded so they don't hinder performance. | ||
| | ||
*/ | ||
|
||
'aliases' => [ | ||
|
||
'App' => Illuminate\Support\Facades\App::class, | ||
'Artisan' => Illuminate\Support\Facades\Artisan::class, | ||
'Auth' => Illuminate\Support\Facades\Auth::class, | ||
'Blade' => Illuminate\Support\Facades\Blade::class, | ||
'Bus' => Illuminate\Support\Facades\Bus::class, | ||
'Cache' => Illuminate\Support\Facades\Cache::class, | ||
'Config' => Illuminate\Support\Facades\Config::class, | ||
'Cookie' => Illuminate\Support\Facades\Cookie::class, | ||
'Crypt' => Illuminate\Support\Facades\Crypt::class, | ||
'DB' => Illuminate\Support\Facades\DB::class, | ||
'Eloquent' => Illuminate\Database\Eloquent\Model::class, | ||
'Event' => Illuminate\Support\Facades\Event::class, | ||
'File' => Illuminate\Support\Facades\File::class, | ||
'Gate' => Illuminate\Support\Facades\Gate::class, | ||
'Hash' => Illuminate\Support\Facades\Hash::class, | ||
'Input' => Illuminate\Support\Facades\Input::class, | ||
'Inspiring' => Illuminate\Foundation\Inspiring::class, | ||
'Lang' => Illuminate\Support\Facades\Lang::class, | ||
'Log' => Illuminate\Support\Facades\Log::class, | ||
'Mail' => Illuminate\Support\Facades\Mail::class, | ||
'Password' => Illuminate\Support\Facades\Password::class, | ||
'Queue' => Illuminate\Support\Facades\Queue::class, | ||
'Redirect' => Illuminate\Support\Facades\Redirect::class, | ||
'Redis' => Illuminate\Support\Facades\Redis::class, | ||
'Request' => Illuminate\Support\Facades\Request::class, | ||
'Response' => Illuminate\Support\Facades\Response::class, | ||
'Route' => Illuminate\Support\Facades\Route::class, | ||
'Schema' => Illuminate\Support\Facades\Schema::class, | ||
'Session' => Illuminate\Support\Facades\Session::class, | ||
'Storage' => Illuminate\Support\Facades\Storage::class, | ||
'URL' => Illuminate\Support\Facades\URL::class, | ||
'Validator' => Illuminate\Support\Facades\Validator::class, | ||
'View' => Illuminate\Support\Facades\View::class, | ||
|
||
], | ||
|
||
]; |
Oops, something went wrong.