feat: Interesado en leads, lada MX/USA, orígenes FRASA y subcategoría de descarte
- Mis leads: botón Interesado (label sembrado en Monday, mueve a Leads Progreso); el botón Agenda cita ahora solo vive en Mis oportunidades - Descarte: además de la categoría, subcategoría del catálogo de Monday (workspace de referencia CRM FRASA); se guarda en la columna Subcategoria del tablero Motivos No Compra y el item queda en el grupo de su categoría - Teléfonos con selector de lada 🇲🇽 +52 / 🇺🇸 +1 en captura rápida (Mi día), Alta Afluencia y Alta de Cliente (tel. casa y celular); Monday escribe countryShortName MX/US y el número compacto (rechaza espacios); el dedup sigue comparando por los últimos 10 dígitos - Origen nuevo en captura rápida y afluencia: PASE, PROSPECCION ASESOR, ACTIVACION, FACEBOOK FRASA, REFERIDO, OTRO (sembrados en Leads.Origen y Oportunidades.Origen del Lead) - Tests: 461 API + 16 mi-dia + 116 alta-clientes, verde
This commit is contained in:
@@ -48,7 +48,7 @@ describe('AltaAfluenciaForm', () => {
|
||||
fetchMock.mockResolvedValueOnce(respuesta({ id: 'l-1', estado: 'NUEVO', oportunidadId: 'op-1' }))
|
||||
render(<AltaAfluenciaForm onVolver={() => undefined} onPasarAAltaCliente={() => undefined} />)
|
||||
llenarRequeridos()
|
||||
fireEvent.change(screen.getByLabelText(/¿Cómo se enteró de nosotros\?/), { target: { value: 'Web' } })
|
||||
fireEvent.change(screen.getByLabelText(/¿Cómo se enteró de nosotros\?/), { target: { value: 'PASE' } })
|
||||
fireEvent.change(screen.getByLabelText(/Desarrollo de interés/), { target: { value: 'SENDA' } })
|
||||
fireEvent.click(screen.getByRole('button', { name: /Registrar en afluencia/ }))
|
||||
|
||||
@@ -59,8 +59,8 @@ describe('AltaAfluenciaForm', () => {
|
||||
expect(url).toContain('/afluencias')
|
||||
expect(JSON.parse(String(init.body))).toMatchObject({
|
||||
nombre: 'Ana Demo',
|
||||
telefono: '6641234567',
|
||||
origen: 'Web',
|
||||
telefono: '+52 6641234567',
|
||||
origen: 'PASE',
|
||||
desarrollo: 'SENDA',
|
||||
})
|
||||
})
|
||||
@@ -158,7 +158,7 @@ describe('AltaAfluenciaForm', () => {
|
||||
await screen.findByRole('status')
|
||||
const [, init] = fetchMock.mock.calls[0] as [string, RequestInit]
|
||||
const cuerpo = JSON.parse(String(init.body)) as Record<string, unknown>
|
||||
expect(cuerpo).toEqual({ nombre: 'Ana Demo', telefono: '6641234567' })
|
||||
expect(cuerpo).toEqual({ nombre: 'Ana Demo', telefono: '+52 6641234567' })
|
||||
})
|
||||
|
||||
it('con 409 muestra el duplicado con el nombre del lead existente', async () => {
|
||||
@@ -218,7 +218,7 @@ describe('AltaAfluenciaForm', () => {
|
||||
expect(onPasar).toHaveBeenCalledWith({
|
||||
id: 'op-1',
|
||||
nombre: 'Ana Demo',
|
||||
telefono: '6641234567',
|
||||
telefono: '+52 6641234567',
|
||||
email: 'ana@correo.com',
|
||||
estado: 'Afluencia',
|
||||
origen: '',
|
||||
|
||||
Reference in New Issue
Block a user