make('Illuminate\Contracts\Console\Kernel')->bootstrap(); return $app; } /** * Sets up the fixture, for example, opens a network connection. * This method is called before a test is executed. */ public function setUp() { parent::setUp(); // if the database copy does not exist, call migrate. $copy = __DIR__ . '/../storage/database/testing-copy.db'; $original = __DIR__ . '/../storage/database/testing.db'; FactoryMuffin::loadFactories(__DIR__ . '/factories'); if (!file_exists($copy)) { touch($original); Artisan::call('migrate'); // create EUR currency /** @var TransactionCurrency $currency */ $currency = FactoryMuffin::create('FireflyIII\Models\TransactionCurrency'); $currency->code = 'EUR'; $currency->save(); copy($original, $copy); } else { if (file_exists($copy)) { copy($copy, $original); } } // if the database copy does exists, copy back as original. $this->session( [ 'start' => Carbon::now()->startOfMonth(), 'end' => Carbon::now()->endOfMonth(), 'first' => Carbon::now()->startOfYear() ] ); } /** * This method is called before the first test of this test class is run. * * @since Method available since Release 3.4.0 */ public static function setUpBeforeClass() { parent::setUpBeforeClass(); } /** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. */ public function tearDown() { parent::tearDown(); // delete copy original. //$original = __DIR__.'/../storage/database/testing.db'; //unlink($original); } /** * @param string $class * * @return Mockery\MockInterface */ public function mock($class) { $mock = Mockery::mock($class); $this->app->instance($class, $mock); return $mock; } }