fix(alarms): harden native playback and pre-notice actions
This commit is contained in:
@@ -128,5 +128,63 @@ void main() {
|
||||
|
||||
expect(proxima, DateTime(2026, 5, 23, 20, 13, 47));
|
||||
});
|
||||
|
||||
test('calcula siguiente diaria despues de ejecucion completada', () {
|
||||
final alarma = AlarmaMusical(
|
||||
id: 'a6',
|
||||
nombre: 'Diaria',
|
||||
hora: 7,
|
||||
minuto: 30,
|
||||
tipoProgramacion: TipoProgramacionAlarma.diaria,
|
||||
diasSemana: const [],
|
||||
proximaEjecucion: DateTime(2026, 5, 25, 7, 30),
|
||||
);
|
||||
|
||||
final siguiente = servicio.calcularSiguienteDespuesDeEjecucion(
|
||||
alarma: alarma,
|
||||
ejecucion: DateTime(2026, 5, 25, 7, 30),
|
||||
);
|
||||
|
||||
expect(siguiente, DateTime(2026, 5, 26, 7, 30));
|
||||
});
|
||||
|
||||
test('calcula siguiente por dias de semana despues de ejecucion', () {
|
||||
final alarma = AlarmaMusical(
|
||||
id: 'a7',
|
||||
nombre: 'Laboral',
|
||||
hora: 8,
|
||||
minuto: 0,
|
||||
tipoProgramacion: TipoProgramacionAlarma.diasSemana,
|
||||
diasSemana: const [DateTime.monday, DateTime.wednesday],
|
||||
proximaEjecucion: DateTime(2026, 5, 25, 8),
|
||||
);
|
||||
|
||||
final siguiente = servicio.calcularSiguienteDespuesDeEjecucion(
|
||||
alarma: alarma,
|
||||
ejecucion: DateTime(2026, 5, 25, 8),
|
||||
);
|
||||
|
||||
expect(siguiente, DateTime(2026, 5, 27, 8));
|
||||
});
|
||||
|
||||
test('alarma unica completada no calcula siguiente', () {
|
||||
final alarma = AlarmaMusical(
|
||||
id: 'a8',
|
||||
nombre: 'Unica',
|
||||
hora: 8,
|
||||
minuto: 0,
|
||||
tipoProgramacion: TipoProgramacionAlarma.unica,
|
||||
diasSemana: const [],
|
||||
fechaUnica: DateTime(2026, 5, 25),
|
||||
proximaEjecucion: DateTime(2026, 5, 25, 8),
|
||||
);
|
||||
|
||||
final siguiente = servicio.calcularSiguienteDespuesDeEjecucion(
|
||||
alarma: alarma,
|
||||
ejecucion: DateTime(2026, 5, 25, 8),
|
||||
);
|
||||
|
||||
expect(siguiente, isNull);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user