create cmms machine service with tests
This commit is contained in:
99
tests/Feature/Console/CMMS/GetMachinesInfoListTest.php
Normal file
99
tests/Feature/Console/CMMS/GetMachinesInfoListTest.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Console\CMMS;
|
||||
|
||||
use App\Models\CMMSMachine;
|
||||
use App\Services\CMMS\GetMachinesInfoListService;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Foundation\Testing\WithFaker;
|
||||
use Mockery\MockInterface;
|
||||
use Tests\TestCase;
|
||||
|
||||
class GetMachinesInfoListTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase, WithFaker;
|
||||
/**
|
||||
* A basic feature test example.
|
||||
*/
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
CMMSMachine::factory()->create();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function test_get_machines_info_list_console_command_work_properly(): void
|
||||
{
|
||||
$this->withoutExceptionHandling();
|
||||
|
||||
$data = [
|
||||
"Id" => $this->faker->numberBetween(1, 10),
|
||||
"PlakNumber" => $this->faker->numerify,
|
||||
"CarName" => $this->faker->name,
|
||||
"CarGroup" => $this->faker->name,
|
||||
"MachineCode" => $this->faker->numerify,
|
||||
"UnitName" => $this->faker->name,
|
||||
"Status" => $this->faker->numberBetween(1, 10),
|
||||
"UnitGroup" => $this->faker->name,
|
||||
];
|
||||
|
||||
$cmmsMachine = CMMSMachine::factory()->create([
|
||||
"Id" => $data['Id'],
|
||||
]);
|
||||
|
||||
$serviceResult = [
|
||||
'vw_MachBankFull' => [
|
||||
[
|
||||
"Id" => $data['Id'],
|
||||
"PlakNumber" => $data['PlakNumber'],
|
||||
"CarName" => $data['CarName'],
|
||||
"CarGroup" => $data['CarGroup'],
|
||||
"MachineCode" => $data['MachineCode'],
|
||||
"UnitName" => $data['UnitName'],
|
||||
"Status" => $data['Status'],
|
||||
"UnitGroup" => $data['UnitGroup'],
|
||||
],
|
||||
[
|
||||
"Id" => 3232,
|
||||
"PlakNumber" => $data['PlakNumber'],
|
||||
"CarName" => $data['CarName'],
|
||||
"CarGroup" => $data['CarGroup'],
|
||||
"MachineCode" => $data['MachineCode'],
|
||||
"UnitName" => $data['UnitName'],
|
||||
"Status" => $data['Status'],
|
||||
"UnitGroup" => $data['UnitGroup'],
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
$this->mock(GetMachinesInfoListService::class, function (MockInterface $mock) use($serviceResult) {
|
||||
$mock->shouldReceive('run')
|
||||
->andReturn($serviceResult);
|
||||
});
|
||||
|
||||
$this->artisan('cmms_machines_info:get_list');
|
||||
|
||||
$this->assertDatabaseHas('cmms_machines', [
|
||||
'car_name' => $data['CarName'],
|
||||
'car_group' => $data['CarGroup'],
|
||||
'machine_code' => $data['MachineCode'],
|
||||
'unit_name' => $data['UnitName'],
|
||||
'car_status' => $data['Status'],
|
||||
'car_id' => $data['Id'],
|
||||
'unit_group' => $data['UnitGroup'],
|
||||
'plak_number' => $data['PlakNumber'],
|
||||
]);
|
||||
$this->assertDatabaseHas('cmms_machines', [
|
||||
'car_name' => $data['CarName'],
|
||||
'car_group' => $data['CarGroup'],
|
||||
'machine_code' => $data['MachineCode'],
|
||||
'unit_name' => $data['UnitName'],
|
||||
'car_status' => $data['Status'],
|
||||
'car_id' => 3232,
|
||||
'unit_group' => $data['UnitGroup'],
|
||||
'plak_number' => $data['PlakNumber'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
78
tests/Feature/Services/CMMS/GetMachinesInfoListTest.php
Normal file
78
tests/Feature/Services/CMMS/GetMachinesInfoListTest.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Services\CMMS;
|
||||
|
||||
use App\Services\CMMS\GetMachinesInfoListService;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Foundation\Testing\WithFaker;
|
||||
use Mockery;
|
||||
use Mockery\MockInterface;
|
||||
use SoapClient;
|
||||
use Tests\TestCase;
|
||||
|
||||
class GetMachinesInfoListTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase, WithFaker;
|
||||
/**
|
||||
* A basic feature test example.
|
||||
*/
|
||||
public function test_data_returned_properly(): void
|
||||
{
|
||||
$data = [
|
||||
"Id" => $this->faker->numberBetween(1, 10),
|
||||
"PlakNumber" => $this->faker->numerify,
|
||||
"CarName" => $this->faker->name,
|
||||
"CarGroup" => $this->faker->name,
|
||||
"MachineCode" => $this->faker->numerify,
|
||||
"UnitName" => $this->faker->name,
|
||||
"Status" => $this->faker->numberBetween(1, 10),
|
||||
"UnitGroup" => $this->faker->name,
|
||||
];
|
||||
$expected_response = [
|
||||
'vw_MachBankFull' => [
|
||||
[
|
||||
"Id" => $data['Id'],
|
||||
"PlakNumber" => $data['PlakNumber'],
|
||||
"CarName" => $data['CarName'],
|
||||
"CarGroup" => $data['CarGroup'],
|
||||
"MachineCode" => $data['MachineCode'],
|
||||
"UnitName" => $data['UnitName'],
|
||||
"Status" => $data['Status'],
|
||||
"UnitGroup" => $data['UnitGroup'],
|
||||
],
|
||||
[
|
||||
"Id" => $data['Id'],
|
||||
"PlakNumber" => $data['PlakNumber'],
|
||||
"CarName" => $data['CarName'],
|
||||
"CarGroup" => $data['CarGroup'],
|
||||
"MachineCode" => $data['MachineCode'],
|
||||
"UnitName" => $data['UnitName'],
|
||||
"Status" => $data['Status'],
|
||||
"UnitGroup" => $data['UnitGroup'],
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
$mockStdClass = Mockery::mock('stdClass');
|
||||
$mockResultObject = $mockStdClass->GetViewResult->NewDataSet->vw_MachBankFull;
|
||||
$mockResultObject->CarName = $data['CarName'];
|
||||
$mockResultObject->CarGroup = $data['CarGroup'];
|
||||
$mockResultObject->PlakNumber = $data['PlakNumber'];
|
||||
$mockResultObject->MachineCode = $data['MachineCode'];
|
||||
$mockResultObject->UnitName = $data['UnitName'];
|
||||
$mockResultObject->Status = $data['Status'];
|
||||
$mockResultObject->Id = $data['Id'];
|
||||
$mockResultObject->UnitGroup = $data['UnitGroup'];
|
||||
|
||||
|
||||
$this->mock(SoapClient::class, function (MockInterface $mock) use ($mockStdClass) {
|
||||
$mock->shouldReceive('GetView')
|
||||
->andReturn($mockStdClass);
|
||||
});
|
||||
|
||||
$service = new GetMachinesInfoListService();
|
||||
$actual_response = $service->run();
|
||||
|
||||
$this->assertEquals($expected_response, $actual_response);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user