added export/ bulk action export and import feature test for revenues..
This commit is contained in:
		| @@ -2,8 +2,11 @@ | ||||
|  | ||||
| namespace Tests\Feature\Sales; | ||||
|  | ||||
| use App\Exports\Sales\Revenues as Export; | ||||
| use App\Jobs\Banking\CreateTransaction; | ||||
| use App\Models\Banking\Transaction; | ||||
| use Illuminate\Http\UploadedFile; | ||||
| use Illuminate\Support\Facades\File; | ||||
| use Tests\Feature\FeatureTestCase; | ||||
|  | ||||
| class RevenuesTest extends FeatureTestCase | ||||
| @@ -82,6 +85,69 @@ class RevenuesTest extends FeatureTestCase | ||||
|         $this->assertSoftDeleted('transactions', $request); | ||||
|     } | ||||
|  | ||||
|     public function testItShouldExportRevenues() | ||||
|     { | ||||
|         $count = 5; | ||||
|         Transaction::factory()->income()->count($count)->create(); | ||||
|  | ||||
|         \Excel::fake(); | ||||
|  | ||||
|         $this->loginAs() | ||||
|             ->get(route('revenues.export')) | ||||
|             ->assertStatus(200); | ||||
|  | ||||
|         \Excel::assertDownloaded( | ||||
|             \Str::filename(trans_choice('general.revenues', 2)) . '.xlsx', | ||||
|             function (Export $export) use ($count) { | ||||
|                 // Assert that the correct export is downloaded. | ||||
|                 return $export->collection()->count() === $count; | ||||
|             } | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     public function testItShouldExportSelectedRevenues() | ||||
|     { | ||||
|         $count = 5; | ||||
|         $revenues = Transaction::factory()->income()->count($count)->create(); | ||||
|  | ||||
|         \Excel::fake(); | ||||
|  | ||||
|         $this->loginAs() | ||||
|             ->post( | ||||
|                 route('bulk-actions.action', ['group' => 'sales', 'type' => 'revenues']), | ||||
|                 ['handle' => 'export', 'selected' => [$revenues->random()->id]] | ||||
|             ) | ||||
|             ->assertStatus(200); | ||||
|  | ||||
|         \Excel::assertDownloaded( | ||||
|             \Str::filename(trans_choice('general.revenues', 2)) . '.xlsx', | ||||
|             function (Export $export) { | ||||
|                 return $export->collection()->count() === 1; | ||||
|             } | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     public function testItShouldImportRevenues() | ||||
|     { | ||||
|         \Excel::fake(); | ||||
|  | ||||
|         $this->loginAs() | ||||
|             ->post( | ||||
|                 route('revenues.import'), | ||||
|                 [ | ||||
|                     'import' => UploadedFile::fake()->createWithContent( | ||||
|                         'revenues.xlsx', | ||||
|                         File::get(public_path('files/import/revenues.xlsx')) | ||||
|                     ), | ||||
|                 ] | ||||
|             ) | ||||
|             ->assertStatus(200); | ||||
|  | ||||
|         \Excel::assertImported('revenues.xlsx'); | ||||
|  | ||||
|         $this->assertFlashLevel('success'); | ||||
|     } | ||||
|  | ||||
|     public function getRequest() | ||||
|     { | ||||
|         return Transaction::factory()->income()->raw(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user