# Qtopia/Calendar

## Test cases

### Single Event

Test Purpose | Verify that a single event is shown correctly.

Test Description

1. Create a new event (repeat: none)
2. Enter a description: "myevent 1"
3. Verify that the event is shown correctly in the day, week and month view.

Expected TestResult

- In the day view an event is shown as a colored block with the description in it. The block is positioned at the time interval in which the event should take place.
- In the week view the event is shown as a colored block on the day and time interval in which the event should take place. No information is written inside the block.
- In the month view the event is shown as a small block on the day on which the event should take place. No information is written inside the block. The position of the block is a rough indication of the time interval. When presented left on the day this means it's happening early on the day, and most right means late in the evening.

Testnorm/Criteria | Close Match
Test Suitability | Manual test

### Weekly repeating events

Test Purpose | Verify that the weekly repeating patterns work correctly

Test Description

1. Create a new event on the wednesday in the current week
2. Make it repeating: "Every week" and press OK
3. Verify that the event is shown on wednesday of every week starting at the current week and verify at least the next 12 months.
4. Verify also that the event is not shown in at least the three months before the current week.
5. Tap and hold the event and select "Edit" in the popupmenu that should appear.
6. Select "All" to edit all occurences of the event.
7. Enter an End Date that lies two months in the future.
8. Verify that the event is shown on wednesday of every week starting at the current week and that it not shown anymore after the entered End Date.
9. Next enter an End Date that lies _before_ the start date.
10. Verify that the End Date is adjusted to the start date.
11. Delete the event.
12. Verify that every instance of the event is gone.
13. Repeat the same test for events on a saturday and on a sunday.

Expected TestResult | All the verification steps as described in the Test Description must be met. See also the Expected Testresult description in Single Event.
Testnorm/Criteria | Close Match
Test Suitability | Manual test

### Daily repeating events

Test Purpose | Verify that daily repeating patterns work correctly

Test Description

1. Create a new event on the wednesday in the current week.
2. Make it repeating "Every day" and press OK
3. Verify that the event is shown on every day starting at the wednesday of the current week and verify at least the next 12 months.
4. Verify also that the event is not shown in at least the three months before the start of the event.
5. Next enter an End Date that lies two months in the future.
6. Verify that the event is shown every day from the Start Date until the End Date.
7. Next enter an End Date that lies 6 days in the future.
8. Verify that the recurring event is shown for exactly 7 days starting at the wednesday of the current week.
9. Repeat the same test for events starting on saturday and sunday.

Expected TestResult | All the verification steps as described in the Test Description must be met. See also the Expected Testresult description in Single Event.
Testnorm/Criteria | Close Match
Test Suitability | Manual test

### Yearly repeating events

Test Purpose | Verify that yearly repeating patterns work correctly

Test Description

1. Create a new event on the wednesday in the current week.
2. Make it repeating "Every year" and press OK
3. Verify that the event is shown on the same date every year starting at the wednesday of the current week and verify at least the5 next years
4. Verify also that the event is not shown in at least the three years before the start of the event.
5. Next enter an End Date that lies two years in the future.
6. Verify that the event is shown every year from the Start Date until the End Date.
7. Repeat the same test for events starting on saturday and sunday.

Expected TestResult | All the verification steps as described in the Test Description must be met. See also the Expected Testresult description in Single Event.
Testnorm/Criteria | Close Match
Test Suitability | Manual test

### Events repeating every x days

Test Purpose | Verify that an event can be repeated every x days.

Test Description

1. Click the today button.
2. Create a new event.
3. Select "Repeat other...".
4. In the dialog click on the "Day" button and enter "Every 3 days".
5. Click OK and OK.
6. Verify in the month view that the event is shown every third day (so two days it's not, one day it is).
7. Verify multiple months.
8. Jump forward to the first leap year and verify that the events are also show correct near the end of Februari.
9. Open the event again for editing and enter an End date somewhere in the future.
10. Verify that the events are not shown past the end date..

Expected TestResult | All the verification steps as described in the Test Description must be met. See also the Expected Testresult description in Single Event.
Testnorm/Criteria | Close Match
Test Suitability | Manual test

### Events repeating several days per week with an x week interval

Test Purpose | Verify that an event can be repeated on multiple days per week or with x weeks interval.

Test Description

1. Create a new event.
2. Select "Repeat other..."
3. In the dialog click on the "Week" button and enter "Every 1 weeks".
4. Verify that todays day is already selected and select two other days from the week.
5. Click OK and OK again.
6. Verify in the day, week and month view that the events are shown on the correct days of the week.
7. Go to the day view for a day with an event.
8. Tap and hold the event and select "edit" from the popupmenu.
9. Select "all" and edit the repeat setting so that it repeats the event every other week, e.g. "Every 2 weeks".
10. Click OK and OK again.
11. Verify in the day, week and month view that the events are shown on the correct days of the week and are shown every second week
12. Open the event again for editing and enter an End date somewhere in the future.
13. Verify that the events are not shown past the end date..

Expected TestResult | All the verification steps as described in the Test Description must be met. See also the Expected Testresult description in Single Event.
Testnorm/Criteria | Close Match
Test Suitability | Manual test

### All day events

Test Purpose | Verify that all day events are presented correctly.

Test Description

1. Create a new event and make it an "all day" event.
2. Verify that the event is shown in the day, week and month view.
3. Edit the event and make it a repeating event that repeats two days a week.
4. Verify that the event is shown accordingly.

Expected TestResult

All the verification steps as described in the Test Description must be met.

- In the day view the event is shown at the top of the page, e.g. no reference is made to a time interval.
- In the week event a similar approach is taken. The event is shown at the top of the day column, and again no reference to a time interval.
- In the month view the event fills the whole day.

Testnorm/Criteria | Close Match
Test Suitability | Manual test

### Deleting events

Test Purpose | Verify that events can be deleted.

Test Description

1. Create a new event
2. Verify that it is shown in the day, week and month view.
3. Tap and hold on the event in the day view until the popup menu appears.
4. Select "Delete" from the menu
5. Click "All"
6. Verify that the event is removed from the day, week and month view.
7. Create a new event and make it a daily repeating event.
8. Verify that it is shown each day in the day, week and month view.
9. Go to the day view for an arbitrary day (on which the event is shown) and tap and hold the stylus on the event.
10. Select "Delete" and select "Single" in the next dialog.
11. Verify that only the event for _that_ day is removed. All other events should still be visible in the day, week and month views.
12. Repeat the same procedure (deleting a single event) for another day.
13. Go to the day view for an arbitrary day (on which the event is shown) and tap and hold the stylus on the event.
14. Select "Edit" and select "Single" in the next dialog.
15. Edit some of the information like the location and click OK.
16. Verify that the deleted events are not re-inserted again.
17. Verify that the last edited event indeed has the changes you made.
18. Finally, tap and hold on an event in the day view and select "Delete" in the popup menu.
19. Click "Cancel" in the confirmation dialog.
20. Verify that none of the events are removed.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Event with an audible alarms

Test Purpose | Verify that an event can sound an alarm

Test Description

1. Create an event for today, 2 minutes in the future.
2. Set the event to have an audible alarm.
3. Click OK.
4. Wait until the time has passed.
5. Verify that at the event time a dialog pops up and an alarm beep sounds.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Multiple events with an audible alarm

Test Purpose | Verify that there can be multiple events with audible alarm at the same time

Test Description

1. Create two events for today, 2 minutes in the future (e.g. the same start time)
2. Set the events to have an audible alarm.
3. Click OK.
4. Wait until the time has passed.
5. Verify that at the specified event time an alarm sound is given and both events will be reported in dialogs, one after the other.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### System time changes

Test Purpose | Verify that events are still handled correctly after the system time is changed.

Test Description

1. Create a new event with an audible alarm and set it's start time 10 minutes in the future.
2. Open Settings > Clock, set the system time 8 minutes in future and click OK.
3. Wait until the event start time has passed.
4. Verify that the event alarm sounds at the expected time.
5. Open Settings > Clock again and set the system time 2 minutes back and click OK. (e.g. the system clock is now two minutes before the event start time again)
6. Wait until the event start time has passed.
7. Verify that the event alarm sounds at the expected time.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Event alarms with no Calendar active

Test Purpose | Verify that an alarm is also given if Calendar is not running

Test Description

1. Close Calendar if it is running
2. Go to the applications tab and open the application properties for Calendar (tap and hold stylus on Calendar icon.
3. Uncheck the "Fast load" checkmark (if applicable).
4. Run Calendar and create an event with an audible alarm 2 minutes in the future.
5. Click OK and close Calendar.
6. Wait until the time has passed.
7. Verify that a dialog pops up for the event and an alarm sound is audible.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Sounding alarms before the event start time

Test Purpose | Verify that event alarms can be sounded _before_ the event start time.

Test Description

1. Create a new event for tomorrow, event start time at 00:03:00.
2. Specify the event to have an audible alarm and give it a pre-warning time of 5 minutes.
3. Set the system time to today, 23:56:00
4. Verify that the alarm sounds at today, 23:58:00

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Events in different timezones

Test Purpose | Verify that events can be entered for different timezones

Test Description

1. Set the current timezone to Brisbane.
2. Create a new event with audible alarm (at 0 minutes) and enter it in the Oslo timezone.
3. Verify that the created event is shown in the day view at the correct local time.
4. Open the event again for editing and verify that it is still presented in the edit dialog in the Oslo timezone and time settings.
5. Adjust the event start time so that it should sound an alarm in the Brisbane timezone within 2 minutes.
   Example:
   Current timezone: Brisbane, event timezone: Oslo, timezone difference: 9 hours
   Current Brisbane time 15:23, so enter an event time of 06:25.
   Event should be presented in the day view at 15:25 and should sound the alarm at 15:25 Brisbane time.
6. Repeat the test for a Los Angeles timezone (make shure you set the correct date!)

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Configuring new events

Test Purpose | Verify that new events can be configured with a preset warning time

Test Description

1. Click the "View" menu
2. Click "Settings"
3. Check the "Preset" checkbox, select 10 minutes and click OK.
4. Create a new event.
5. Verify that Audible Alarm is selected and set to 10 minutes pre warning time.
6. Repeat the same procedure with a time of 30 minutes in the settings dialog.
7. Repeat the same procedure again but uncheck the Preset in the settings dialog.
8. Create a new event.
9. Verify that the alarm mode is now set to No Alarm, 0 minutes.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Configuring day view

Test Purpose | Verify that the presentation of the day view can be configured

Test Description

1. Open View > Settings.
2. Enter a Start viewing events time of 03:00 and click OK.
3. Verify that the days view is adjusted and now starts at 03:00.
4. Repeat the same procedure for a second start time.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Beaming

Test Purpose | Beaming of an event

Test Description

1. Create an event and enter sensible information in all fields.
2. Beam the event to another Qtopia device.
3. Verify that the receiver has the same information in all fields as the original event.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match for Qtopia <--> Qtopia. Close Match for other brands. Because of various feature patterns, not all recurring patterns should be expected to match excactly on a send or receive.
Test Suitability | Manual test

### All day events

Test Purpose | Verify that all-day events are time-zone independent

Test Description

1. Open Date/Time and ensure that the current used timezone is set to Brisbane.
2. Create a new event for today, make it an all-day event and set it to a Brisbane timezone.
3. Verify that the event is shown as an all day event vor today.
4. Open Date/Time and change the timezone to Los Angeles.
5. Verify that the event is still shown on the same date as it was before.
6. Open Date/Time and change the timezone to Oslo.
7. Verify that the event is still shown on the same date as it was before.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Midnight events

Test Purpose | Verify that midnight events are handled correctly for different timezones.

Test Description

1. Open Date/Time and switch the current timezone to Brisbane.
2. Create a new event with a timezone "None" and give it a start date/time of today: 23:00:00 and an end date/time of tomorrow: 02:00:00
3. In the day view verify that the event is shown at the end of today and also at the beginning of tomorrow.
4. In the week view verify that the event is shown at the end of today and also at the beginning of tomorrow.
5. In the month view verify that the event is shown as one block that starts at the end of today and stops at the beginning of tomorrow.
6. Open Date/Time and switch the timezone to Los Angeles.
7. Repeat steps 3, 4 and 5 and verify that the event is shown exactly the same.
8. Edit the event and set the timezone for the event to "Brisbane".
9. Verify that the presentation of the events has changed (Event is in Brisbane timezone, current timezone is Los Angeles).
10. Edit the event and set the timezone for the event to "Los Angeles".
11. Repeat steps 3, 4 and 5 and verify that the event is shown exactly the same.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Today

Test Purpose | Verify that the today button switches the view to "today"

Test Description

1. Go to the month view and click on an arbitrary day other than today.
2. Click on the Today button.
3. Verify that the day/week/month view have switched to the current date.
4. Verify that the date picker button also presents the current date.
5. Repeat the same test for multiple arbitrary dates in the past and future and starting from day/week and month view.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test

### Find

Test Purpose | Verify that the search function works

Test Description

1. Create several events on the same and different dates.
2. Enter some events:
   - Event 1: "My Event", date: today, category: Personal
   - Event 2: "My second Event", date: tomorrow, Category: Business
   - Event 3: "Another Event", date: tomorrow, Category: Personal
   - Event 4: "Something totally different", date: somewhere next week, Category: Business
3. Start the search option (Event > Find Event)
4. Enter "My" and click Find
5. Verify that Event 1 is shown.
6. Enter "second" and click Find
7. Verify that Event 2 is shown
8. Enter "bla" and click Find
9. Verify that the status bar shows a message that "nothing is found".
10. Check Case sensitive, enter "Second" and click Find
11. Verify that again no search result is shown.
12. Enter "totally", select a Start Search at on the day before the event date and click Find
13. Verify that Event 4 is found.
14. Repeat step 12 and 13 for a Start Search at on the event date.
15. Repeat step 12 for a Start Search at on the day after the event date.
16. Verify that Event 4 is not found.
17. Reset the Start Search at to todays date.
18. Enter "Event" as the search string and select Business as the category and click Find
19. Verify that Event 2 is found.
20. Enter Personal as the category and click Find again.
21. Verify that Event 1 is found.
22. Enter "totally" as the search string and "Personal" as the category and click Find.
23. Verify that nothing is found.

Expected TestResult | All the verification steps as described in the Test Description must be met.
Testnorm/Criteria | Exact Match
Test Suitability | Manual test