feat(app): add onboarding and harden alarms
This commit is contained in:
@@ -86,25 +86,47 @@ void main() {
|
||||
);
|
||||
});
|
||||
|
||||
test('servicio limpia proxima ejecucion obsoleta al recalcular unica vencida', () async {
|
||||
SharedPreferences.setMockInitialValues({});
|
||||
final servicioAlarmas = ServicioAlarmas(
|
||||
reloj: () => DateTime(2026, 5, 22, 10),
|
||||
);
|
||||
test(
|
||||
'servicio limpia proxima ejecucion obsoleta al recalcular unica vencida',
|
||||
() async {
|
||||
SharedPreferences.setMockInitialValues({});
|
||||
final servicioAlarmas = ServicioAlarmas(
|
||||
reloj: () => DateTime(2026, 5, 22, 10),
|
||||
);
|
||||
final alarma = AlarmaMusical(
|
||||
id: 'a4',
|
||||
nombre: 'Unica vencida',
|
||||
hora: 9,
|
||||
minuto: 0,
|
||||
tipoProgramacion: TipoProgramacionAlarma.unica,
|
||||
diasSemana: const [],
|
||||
fechaUnica: DateTime(2026, 5, 22),
|
||||
proximaEjecucion: DateTime(2026, 5, 22, 9),
|
||||
);
|
||||
|
||||
final guardada = await servicioAlarmas.guardarAlarma(alarma);
|
||||
|
||||
expect(guardada.alarmas.single.proximaEjecucion, isNull);
|
||||
},
|
||||
);
|
||||
|
||||
test('mantiene alarma unica creada dentro del mismo minuto', () {
|
||||
final alarma = AlarmaMusical(
|
||||
id: 'a4',
|
||||
nombre: 'Unica vencida',
|
||||
hora: 9,
|
||||
minuto: 0,
|
||||
id: 'a5',
|
||||
nombre: 'Ahora',
|
||||
hora: 20,
|
||||
minuto: 13,
|
||||
tipoProgramacion: TipoProgramacionAlarma.unica,
|
||||
diasSemana: const [],
|
||||
fechaUnica: DateTime(2026, 5, 22),
|
||||
proximaEjecucion: DateTime(2026, 5, 22, 9),
|
||||
fechaUnica: DateTime(2026, 5, 23),
|
||||
);
|
||||
|
||||
final guardada = await servicioAlarmas.guardarAlarma(alarma);
|
||||
final proxima = servicio.calcularProxima(
|
||||
alarma: alarma,
|
||||
desde: DateTime(2026, 5, 23, 20, 13, 45),
|
||||
);
|
||||
|
||||
expect(guardada.alarmas.single.proximaEjecucion, isNull);
|
||||
expect(proxima, DateTime(2026, 5, 23, 20, 13, 47));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user