我有一个 Laravel 8 项目,我在其中进行了自动化测试:
public function testCreateConvenioPagoDeProgramacionAdeudo()
{
$programacion = AdeudoProgramacion::select('adeudo_programacion.*')
->where('id', $this->idProgramacion)
->firstOrFail();
$response = $this->withLoggedUser()->json("POST", "api/convenios/crearPorProgramacionDeAdeudos/$programacion->id");
$response->assertCreated();
}
该测试尝试在调用 URL 时使用此方法创建一些对象:
public function storeAdeudoProgramacion(StoreConvenioPagoRequest $request, $idAdeudoProgramacion){
$adeudo = AdeudoProgramacion::select('adeudo_programacion.*')->where('id', $idAdeudoProgramacion)->firstOrFail();
$pagos = AdeudoPago::select("adeudo_pago.*")
->join('adeudo_programacion', 'adeudo_programacion.id', 'adeudo_pago.idProgramacion')
->where('adeudo_programacion.id', $idAdeudoProgramacion)->get();
$monto = $pagos->sum('monto');
$data = [
'idEstatus' => ConvenioPagoEstatus::PENDIENTE,
'comentarios' => ''
];
$convenio = ConvenioPago::create(
$data
);
if($convenio){
// Se crean los movimientos a partir de los pagos de la programación
$numero_pago = 1;
foreach($pagos as $pago){
$convenio_id = $convenio->id;
$data_movimiento = [
'idConvenio' => $convenio_id,
'idEstatus' => ConvenioPagoMovimientoEstatus::PENDIENTE,
'numeroPago' => $numero_pago,
'monto' => $pago->monto,
'fechaPagoPlaneada' => $pago->fechaPagoPlaneada,
'fechaPagoReal' => $pago->fechaPagoReal,
'periodoInicio' => $pago->periodoInicio,
'periodoFinal' => $pago->periodoFinal,
'comentarios' => 'Pago número '.$numero_pago
];
ConvenioPagoMovimiento::create(
$data_movimiento
);
$numero_pago = $numero_pago + 1;
}
$aux = ConvenioPago::select(
'convenio_pago.id',
'convenio_pago_estatus.estatus',
'convenio_pago_origen.origen',
'relacion_laboral.idDerechohabiente',
'relacion_laboral.id',
'convenio_pago.idAdeudoProgramacion',
'convenio_pago.monto',
'convenio_pago.montoPagado',
'convenio_pago.saldo',
'convenio_pago.cantidadPagos',
'convenio_pago.pagosRealizados'
)
->join('convenio_pago_estatus', 'convenio_pago_estatus.id', 'convenio_pago.idEstatus')
->join('convenio_pago_origen', 'convenio_pago_origen.id', 'convenio_pago.idOrigen')
->join('relacion_laboral', 'relacion_laboral.id', 'convenio_pago.idRelacionLaboral')
->where('convenio_pago.id', $convenio->id)->first();
$data = [
'data' => $aux
];
return response()->json($data, 201);
}
return $this->response->errorBadRequest();
}
我已经读到,由于我在某处进行了某些验证,我可能会收到该错误,但我无法确定可能在哪里,或者我可以在哪里搜索。
答案 0 :(得分:2)
422 响应可能是由您的表单请求 false
处理 JSON 响应引起的。因为它是一个 JSON 响应,所以应该包括验证错误。
如果您StoreConvenioPagoRequest
,您应该能够看到什么是无效的。