mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-25 07:13:09 +00:00
cc832a4ad8
Whoops, we can't just use a straight match_has_tag there as we did another assert in the middle... Signed-off-by: Adam Williamson <awilliam@redhat.com>
66 lines
2.1 KiB
Perl
66 lines
2.1 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
|
|
# I as a user want to be able to add, edit and remove alarms.
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
|
|
# Click on the Alarm button.
|
|
assert_and_click("clocks_button_alarm");
|
|
|
|
# Add a new alarm using the Add Alarm button
|
|
assert_and_click("clocks_button_add_alarm");
|
|
wait_still_screen(2);
|
|
type_very_safely("09");
|
|
send_key("tab");
|
|
type_very_safely("04");
|
|
assert_and_click("clocks_set_snooze");
|
|
assert_and_click("clocks_set_snooze_time");
|
|
assert_and_click("gnome_add_button");
|
|
assert_screen("clocks_alarm_active");
|
|
|
|
# Wait until the alarm goes on, two buttons will be shown. This should not take
|
|
# more than three minutes.
|
|
# A snooze button should become visible, click it.
|
|
assert_and_click("clocks_button_alarm_snooze", timeout => 240);
|
|
assert_screen("clocks_alarm_snooze_confirmed");
|
|
# After another minute or so, the alarm should ring again.
|
|
# This time we will use the stop button to stop it.
|
|
assert_and_click("clocks_button_alarm_stop", timeout => 120);
|
|
# Up to 46.0, the alarm would stay active after being stopped; from
|
|
# 46.0 onwards it goes inactive. FIXME this can be simplified to
|
|
# assume it starts at 'inactive' once we are no longer testing
|
|
# < 46.0 anywhere
|
|
assert_screen(["clocks_alarm_active", "clocks_alarm_inactive"]);
|
|
my $wasactive = match_has_tag("clocks_alarm_active");
|
|
# Now toggle the switch to change its state
|
|
assert_and_click("gnome_button_toggle");
|
|
# whichever state it was in, check it's now in the other
|
|
if ($wasactive) {
|
|
assert_screen("clocks_alarm_inactive");
|
|
}
|
|
else {
|
|
assert_screen("clocks_alarm_active");
|
|
}
|
|
# Delete alarm using the delete button.
|
|
assert_and_click("gnome_button_cross_remove");
|
|
sleep 2;
|
|
if (check_screen(["clocks_alarm_active", "clocks_alarm_inactive"])) {
|
|
die("The alarm should have been deleted but it is still visible in the GUI");
|
|
}
|
|
|
|
|
|
}
|
|
|
|
sub test_flags {
|
|
# Rollback after test is over.
|
|
return {always_rollback => 1};
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|