Fix issues found during testing. #728
This commit is contained in:
parent
886a9e669e
commit
ce133addfc
3 changed files with 70 additions and 8 deletions
|
|
@ -65,7 +65,7 @@ class TestInsuranceConnectorCommand extends Command
|
||||||
->setMvFileNumber('123456789012345')
|
->setMvFileNumber('123456789012345')
|
||||||
->setMotorNumber('E31TE-0075268')
|
->setMotorNumber('E31TE-0075268')
|
||||||
->setSerialChassis('PA0SEF210K0075701')
|
->setSerialChassis('PA0SEF210K0075701')
|
||||||
->setYearModel('2020')
|
->setYearModel(2020)
|
||||||
->setMvTypeID(1)
|
->setMvTypeID(1)
|
||||||
->setBodyType('SEDAN')
|
->setBodyType('SEDAN')
|
||||||
->setLine(LineType::PRIVATE_CAR)
|
->setLine(LineType::PRIVATE_CAR)
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,32 @@ class InsuranceAPIController extends Controller implements LoggedController
|
||||||
public function createCTPLApplication(Request $req, EntityManagerInterface $em, InsuranceDataValidator $ins_validator,
|
public function createCTPLApplication(Request $req, EntityManagerInterface $em, InsuranceDataValidator $ins_validator,
|
||||||
InsuranceConnector $insurance)
|
InsuranceConnector $insurance)
|
||||||
{
|
{
|
||||||
// TODO: are we letting the app fill in all the fields needed for the CTPL application?
|
|
||||||
// check parameters
|
// check parameters
|
||||||
$required_params = [
|
$required_params = [
|
||||||
'',
|
'client_type',
|
||||||
|
'first_name',
|
||||||
|
'last_name',
|
||||||
|
'corporate_name',
|
||||||
|
'address_number',
|
||||||
|
'address_barangay',
|
||||||
|
'address_city',
|
||||||
|
'address_province',
|
||||||
|
'zipcode',
|
||||||
|
'mobile_number',
|
||||||
|
'email_address',
|
||||||
|
'make',
|
||||||
|
'model',
|
||||||
|
'series',
|
||||||
|
'color',
|
||||||
|
'plate_number',
|
||||||
|
'mv_file_number',
|
||||||
|
'motor_number',
|
||||||
|
'serial_chassis',
|
||||||
|
'year_model',
|
||||||
|
'mv_type_id',
|
||||||
|
'body_type',
|
||||||
|
'is_public',
|
||||||
|
'line',
|
||||||
];
|
];
|
||||||
|
|
||||||
// check required parameters and api key
|
// check required parameters and api key
|
||||||
|
|
@ -48,17 +70,18 @@ class InsuranceAPIController extends Controller implements LoggedController
|
||||||
// create client data
|
// create client data
|
||||||
$client_data = new ClientData();
|
$client_data = new ClientData();
|
||||||
|
|
||||||
// TODO: set values for client data
|
$this->setClientData($req, $client_data);
|
||||||
|
|
||||||
// check if client data values are valid
|
// check if client data values are valid
|
||||||
$error_mesage = $ins_validator->validateClientData($client_data);
|
$error_message = $ins_validator->validateClientData($client_data);
|
||||||
if ($error_message != null)
|
if ($error_message != null)
|
||||||
{
|
{
|
||||||
|
error_log('client data values are not valid ' . $error_message);
|
||||||
// return error message
|
// return error message
|
||||||
$res->setError(true)
|
$res->setError(true)
|
||||||
->setErrorMessage($error_message);
|
->setErrorMessage($error_message);
|
||||||
|
|
||||||
return $res;
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $insurance->processApplication($client_data);
|
$result = $insurance->processApplication($client_data);
|
||||||
|
|
@ -71,7 +94,7 @@ class InsuranceAPIController extends Controller implements LoggedController
|
||||||
$res->setError(true)
|
$res->setError(true)
|
||||||
->setErrorMessage($message);
|
->setErrorMessage($message);
|
||||||
|
|
||||||
return $res;
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
// return data portion of result received from insurance api
|
// return data portion of result received from insurance api
|
||||||
|
|
@ -82,6 +105,42 @@ class InsuranceAPIController extends Controller implements LoggedController
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function setClientData(Request $req, ClientData $client_data)
|
||||||
|
{
|
||||||
|
// set client info part
|
||||||
|
$client_data->setClientType($req->request->get('client_type', ''))
|
||||||
|
->setFirstName($req->request->get('first_name', ''))
|
||||||
|
->setMiddleName($req->request->get('middle_name', ''))
|
||||||
|
->setSurname($req->request->get('last_name', ''))
|
||||||
|
->setCorporateName($req->request->get('corporate_name', ''));
|
||||||
|
|
||||||
|
// set the client contact info part
|
||||||
|
$client_data->setAddressNumber($req->request->get('address_number', ''))
|
||||||
|
->setAddressStreet($req->request->get('address_street', ''))
|
||||||
|
->setAddressBuilding($req->request->get('address_building', ''))
|
||||||
|
->setAddressBarangay($req->request->get('address_barangay', ''))
|
||||||
|
->setAddressCity($req->request->get('address_city', ''))
|
||||||
|
->setAddressProvince($req->request->get('address_province', ''))
|
||||||
|
->setZipcode($req->request->get('zipcode', 0))
|
||||||
|
->setMobileNumber($req->request->get('mobile_number', ''))
|
||||||
|
->setEmailAddress($req->request->get('email_address', ''));
|
||||||
|
|
||||||
|
// set the car info part
|
||||||
|
$client_data->setMake($req->request->get('make', ''))
|
||||||
|
->setModel($req->request->get('model', ''))
|
||||||
|
->setSeries($req->request->get('series', ''))
|
||||||
|
->setColor($req->request->get('color', ''))
|
||||||
|
->setPlateNumber($req->request->get('plate_number', ''))
|
||||||
|
->setMvFileNumber($req->request->get('mv_file_number', ''))
|
||||||
|
->setMotorNumber($req->request->get('motor_number', ''))
|
||||||
|
->setSerialChassis($req->request->get('serial_chassis', ''))
|
||||||
|
->setYearModel($req->request->get('year_model', 0))
|
||||||
|
->setMvTypeID($req->request->get('mv_type_id', 0))
|
||||||
|
->setBodyType($req->request->get('body_type', ''))
|
||||||
|
->setLine($req->request->get('line', ''))
|
||||||
|
->setPublic($req->request->get('is_public', false));
|
||||||
|
}
|
||||||
|
|
||||||
protected function checkMissingParameters(Request $req, $params = [])
|
protected function checkMissingParameters(Request $req, $params = [])
|
||||||
{
|
{
|
||||||
$missing = [];
|
$missing = [];
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,8 @@ class InsuranceDataValidator
|
||||||
return $error;
|
return $error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: should we check for the format of corporate name if client type is Individual?
|
||||||
|
|
||||||
// number address is required
|
// number address is required
|
||||||
if (empty($client_data->getAddressNumber()))
|
if (empty($client_data->getAddressNumber()))
|
||||||
{
|
{
|
||||||
|
|
@ -173,7 +175,7 @@ class InsuranceDataValidator
|
||||||
}
|
}
|
||||||
|
|
||||||
// vehicle year model is required
|
// vehicle year model is required
|
||||||
if (empty($client_data->getYearModel()))
|
if ($client_data->getYearModel() == 0)
|
||||||
{
|
{
|
||||||
$error = 'Vehicle year model is required.';
|
$error = 'Vehicle year model is required.';
|
||||||
return $error;
|
return $error;
|
||||||
|
|
@ -222,6 +224,7 @@ class InsuranceDataValidator
|
||||||
// check line type and flag_public combination
|
// check line type and flag_public combination
|
||||||
// if line type is MCOC/private motorcycle, flag_public should be false
|
// if line type is MCOC/private motorcycle, flag_public should be false
|
||||||
// if line type is LCOC/public motorcycle, flag_public should be true
|
// if line type is LCOC/public motorcycle, flag_public should be true
|
||||||
|
// TODO: should we check other combinations? Like PCOC/private car and flag_public is true?
|
||||||
if ($client_data->getLine() == LineType::PRIVATE_MOTORCYCLE)
|
if ($client_data->getLine() == LineType::PRIVATE_MOTORCYCLE)
|
||||||
{
|
{
|
||||||
if ($client_data->isPublic())
|
if ($client_data->isPublic())
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue