vorta/tests/test_schedule.py

30 lines
1.1 KiB
Python

from datetime import datetime as dt, date, time
from PyQt5 import QtCore
from vorta.views.schedule_tab import ScheduleTab
from .fixtures import app, main
def test_schedule_tab(main, qtbot):
tab = ScheduleTab(main.scheduleTabSlot)
qtbot.addWidget(tab)
qtbot.mouseClick(tab.scheduleApplyButton, QtCore.Qt.LeftButton)
assert tab.nextBackupDateTimeLabel.text() == 'Manual Backups'
tab.scheduleIntervalRadio.setChecked(True)
tab.scheduleIntervalHours.setValue(5)
tab.scheduleIntervalMinutes.setValue(10)
qtbot.mouseClick(tab.scheduleApplyButton, QtCore.Qt.LeftButton)
assert tab.nextBackupDateTimeLabel.text().startswith('20')
tab.scheduleOffRadio.setChecked(True)
qtbot.mouseClick(tab.scheduleApplyButton, QtCore.Qt.LeftButton)
assert tab.nextBackupDateTimeLabel.text() == 'Manual Backups'
tab.scheduleFixedRadio.setChecked(True)
tab.scheduleFixedTime.setTime(QtCore.QTime(23, 59))
qtbot.mouseClick(tab.scheduleApplyButton, QtCore.Qt.LeftButton)
next_backup = dt.combine(date.today(), time(23, 59))
assert tab.nextBackupDateTimeLabel.text() == next_backup.strftime('%Y-%m-%d %H:%M')