Tests for importing CSV files

This commit is contained in:
David Bomba 2020-12-12 21:35:42 +11:00
parent 584bef52fc
commit 3419d7900f
2 changed files with 22 additions and 7 deletions

View File

@ -38,6 +38,17 @@ class ImportController extends Controller
* @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"),
* @OA\Parameter(ref="#/components/parameters/X-Requested-With"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"),
* @OA\Parameter(ref="#/components/parameters/include"), * @OA\Parameter(ref="#/components/parameters/include"),
* @OA\RequestBody(
* description="The CSV file",
* required=true,
* @OA\MediaType(
* mediaType="multipart/form-data",
* @OA\Schema(
* type="string",
* format="binary"
* )
* )
* ),
* @OA\Response( * @OA\Response(
* response=200, * response=200,
* description="Returns a reference to the file", * description="Returns a reference to the file",
@ -68,6 +79,13 @@ class ImportController extends Controller
//parse CSV //parse CSV
$csv_array = $this->getCsvData(file_get_contents($request->file('file')->getPathname())); $csv_array = $this->getCsvData(file_get_contents($request->file('file')->getPathname()));
$data['data'] = [
'hash' => $hash,
'headers' => array_slice($csv_array, 0, 2)
];
return response()->json($data);
} }
@ -79,7 +97,6 @@ class ImportController extends Controller
} }
$csv = Reader::createFromString($csvfile); $csv = Reader::createFromString($csvfile);
//$csv->setHeaderOffset(0); //set the CSV header offset
$stmt = new Statement(); $stmt = new Statement();
$data = iterator_to_array($stmt->process($csv)); $data = iterator_to_array($stmt->process($csv));

View File

@ -37,10 +37,9 @@ class ImportCsvTest extends TestCase
ThrottleRequests::class ThrottleRequests::class
); );
$this->faker = \Faker\Factory::create(); // $this->faker = \Faker\Factory::create();
// $this->makeTestData();
$this->makeTestData();
$this->withoutExceptionHandling(); $this->withoutExceptionHandling();
} }
@ -49,7 +48,7 @@ class ImportCsvTest extends TestCase
{ {
$csv = file_get_contents(base_path().'/tests/Feature/Import/invoice.csv'); $csv = file_get_contents(base_path().'/tests/Feature/Import/invoice.csv');
return $this->getCsvData($csv); $this->assertTrue(is_array($this->getCsvData($csv)));
} }
@ -61,7 +60,6 @@ class ImportCsvTest extends TestCase
} }
$csv = Reader::createFromString($csvfile); $csv = Reader::createFromString($csvfile);
//$csv->setHeaderOffset(0); //set the CSV header offset
$stmt = new Statement(); $stmt = new Statement();
$data = iterator_to_array($stmt->process($csv)); $data = iterator_to_array($stmt->process($csv));
@ -78,7 +76,7 @@ class ImportCsvTest extends TestCase
} }
} }
} }
info(print_r($data,1));
return $data; return $data;
} }
} }