Acceptance and Regression Tests for Calendar Package and Associated Modules =========================================================================== Calendar Package ---------------- Personal Calendar: 1. Enter /calendar/ as the url for your server. You should see a page beginning "Calendar for ". Make sure everything on this page looks reasonable and there are no errors. There should be a mini-calendar widget on the left hand side, with some links below. Taking up the rest of the space should be a detailed calendar in one of the following view modes: list, day, week, month or year. Views: 1. Select each of the different views by clicking on the corresponding links at the top of the mini-calendar widget. 2. In the List view -- test sorting by different columns. 3. In the Day view -- test the "Compressed View" toggle. Navigation: 1. The following actions should maintain the same view. Make sure that the main calendar navigates to the expected date. 2. Select days in mini-calendar in list, day and week views. The date selected should appear in bold and not be a link. 3. Select months in mini-calendar in month view. The month selected should appear in bold and not be a link. 4. Select years in mini-calendar in year view. The year selected should appear in bold and not be a link. 5. Enter a date in date box in mini-calendar. 6. Select "Today" link in mini-calendar. 7. Selecting arrows in mini-calendar should move by month or by year in month and year view. 8. Selecting arrows in specific view should move the date by the appropriate interval in the appropriate direction. 9. Selecting the day in week, month, or year view should take you to the day view for the appropiate day. 10. Selecting the month in year view should take you to the month view for the appropriate month. Add a personal item: 1. Each of the following methods should bring you to a form where you can enter information for the item. Title, date and no time/start time are required fields, but date and time already have default values. Repeating items will be tested later. Check that the following defaults hold. Check that the item is added correctly. 2. From add personal item link: date should default to the currently viewed date. Time should be 12-1pm. 3. From No Time in day view (may need to turn compressed view off): Date should be day being viewed and No Time checkbox should be checked. 4. From specific time in day view: Date should be day being viewed, start time should be time selected, end time should be one hour later. 5. From "Add Item" in week view: date should be same as day Add Item was selected from. Time should be 12-1pm. View item: 1. Selecting an item's title from any view should display details for that view, including links to edit, add attachment, and delete. Check that all links on all views work properly. Note: "Work absences" work differently. Clicking on the title of these items will take you to the intranet edit absence page for that item. Edit item: 1. While viewing an item, select "Edit". You should get a form allowing you to edit the title, date, times, types, and description for the item. Non-recurring items should have a "Repeat?" field but not an "Update?" field. 2. Edit an item and make sure the change is reflected in the calendar. Add repeating item: 1. When adding an item, select Yes for "Repeat?" After clicking "Add Item", you should get a form summarizing the date and time of the item and providing fields to set how the item repeats. For all the following cases, check that the item does indeed show up multiple times as expected. 2. Add an item that repeats daily. 3. Add an item that repeats weekly, specifying multiple days of the week. 4. Add an item that repeats every month on a particular date. 5. Add an item that repeats every month on a particular day of a particular week. 6. By selecting a date in the 4th or 5th week of a month, a third option will appear allowing you to repeat an item on a particular day of the Last week of a month. Make sure this is the case and then add such an item. 7. Add an item that repeats yearly. Edit repeating item: 1. When you select Edit when viewing a repeating item, at the bottom of the form will appear a field "Update?" with choices "Current instance only" and "All repeating instances." 2. Edit an item, changing the title and selecting "Current instance only." Check that the title has changed only for that item. 3. Edit an item, changing the title and selecting "All repeating instances." Check that the title has changed for all the repeating items. 4. Edit an item, changing the time and selecting "Current instance only." Check that the time has changed only for that item. 5. Edit an item, changing the time and selecting "All repeating instances." Check that the time has changed for all the repeating items. Add attachment to item: 1. View an item. Select "Add Attachment." You should be taken to a form allowing you to add an attachment either by uploading a file, by entering a url, or by adding text. 2. Add an attachment by entering a title and some text in the "Text:" box. You should be taken back to the item view which should show a link for that attachment you added. 3. Select the title of your attachment and make sure that the text appears properly. 4. Return to the item view and select the "Calendar Attachments" link. You should be taken to a page listing all calendar attachements. 5. Select "manage" for the attachment you added. You should be taken to a page where you can perform various actions on the attachment. 6. Select "edit" for the attachment. You should be taken to a page where you can edit the text you entered. Edit the text and make sure that the change is reflected when you view the attachment again. 7. Add a url attachment to an item. When you return to viewing the item, clicking on the attachment title should navigate to the url. Types: 1. Select "Types for Your Calendar". 2. Add a type. 3. Edit the name of a type. 4. Delete a type. 5. Add two more types. 6. Go back to /calendar/ (the "calendar" link in the bar doesn't go back to the calendar as you might expect.) Add a new item. Select two types for the item. Make sure that the types show up properly when viewing the item and in the New Items section of the List view. Delete item: I. View a non-repeating item: A. With Javascript enabled: 1. Select Delete, then click Cancel on the dialog box that pops up. Nothing else should happen. 2. Select Delete again, then click OK. You should be returned to the view where you selected the item and the deleted item should be gone. B. With Javascript disabled: 1. Select Delete. You should see a confirmation form replace the item view. Select Cancel. You should be returned to the item view. 2. Select Delete again, then click OK. You should be returned to the view where you selected the item and the deleted item should be gone. II. View a repeating item that has more than two instances: A. Select Delete. You shoud see a confirmation form replace the item view. The question should be "Are you sure you want to delete ?" There should be two radio buttons: "Current instance only" and "All occurrences." B. Click Cancel. You should be returned to the item view. C. Select Delete again, click "Current instance only" and then click "OK." You should be returned to the view where you selected the item and that instance should be deleted. The other instances should still be there. D. Now view another instance, select Delete, click "All occurences" and then click "OK". You should be returned to the originating view and all occurences of the item should be deleted. Group calendars: 1. Below the mini-calendar there should be a table labeled "Calendars:". At a minimum, you should see "Your Personal Calendar". If you belong to groups that have group calendars, you will see additional links to those group calendars. You'll also see a column labeled "View Items" with check boxes next to the groups. If you don't have at least two group calendars listed, you'll need to be an administrator so that you can either add yourself to a group with a calendar, or add a calendar to a group you belong to. If you need additional group calendars, see "Manage group calendars" or "/admin/calendar/" below. 2. Select a group calendar. The header should change to "Calendar for " and any personal items that were displayed on your calendar should disappear. However, the calendar should be in the same view as before. 3. Select "Your Personal Calendar". The calendar should appear as it did before selecting a group calendar. Add group item: 1. Go back to a group calendar. The link labeled "Add Personal Item" should have changed to "Add Group Item". 2. Select the link and add an item to your group calendar. It should show up normally on the group calendar. Group items on personal calendar: 1. Now select the "Your Personal Calendar" link. The item you added to the group calendar should appear on your personal calendar. It should display with "(for )" after the title. 2. Toggling "View Items" by clicking on the checkbox next to the group link should add or remove that group's items as appropriate. 3. Now turn "View Items" off for all groups and check that each view displays properly. Repeat personal item tests for group item: 1. Repeat the tests you performed with adding and editing personal items but now with group items. Manage group calendars: 1. If you are an administrator for any groups, you should see a link to "Manage group calendars" at the bottom of the left side. Select this link. You should be taken to a page with two sections: "Your Groups' Calendars" and "Create Group Calendar". 2. First, make sure you administrate a group that you are willing to test on by adding and then deleting the group calendar. That group's name should appear in the list under "Create Group Calendar". Select that group and then click "Create Group Calendars". The page should refresh with the group you selected moved from the "Create Group Calendar" list to the "Your Groups' Calendars" list. 3. Select that group and make sure it goes to the correct admin page. 4. Navigate back and select the "add types" link next to that calendar. Add a type. Check that the new type shows up when adding an item for that group. 5. Go back to the "Manage group calendars" page and select "delete calendar" for your group. This will take you to a confirmation page. 6. Select "No, Cancel"; you should be taken back to the manage page. 7. Repeat, selecting "Yes, Proceed". You should be returned to the manage page and the group should have moved from "Your Groups' Calendars" to "Create Group Calendars". /admin/calendar/: 1. If you are a site-wide administrator, you should be able to navigate to /admin/calendar/. You should see two sections: "Group Types With Calendars" and "Groups With Calendars". 2. Under "Groups With Calendars" you should see "Create a group calendar" followed by a list of groups with calendars. Select "Create....". You should see a long list of groups. Select one and then click "Create Group Calendars". You should be returned to the /admin/calendar/ page and the new group calendar should be listed under "Groups With Calendars." 3. Select "delete calendar" for the calendar you just added. This will take you to a confirmation page. 4. Select "No, Cancel"; you should be taken back to the admin page. 5. Repeat, selecting "Yes, Proceed". You should be returned to the admin page and the group should no longer be listed under "Groups With Calendars." 6. In the "Group Types With Calendars", select a group type that is not already selected and click "Update". You should be returned to the admin page, the group type you selected should remain highlighted, and all groups of that type should have been added to the list under "Groups With Calendars." 7. Add a new group of the type you chose. Navigate back to /admin/calendar/. The new group will not be listed under "Groups With Calendars." 8. Select "Update." Now the new group should be listed. 8. Delete the group you just added. Navigate back to /admin/calendar/. The group should no longer be listed under "Groups With Calendars." 9. Deselect the group type you selected under "Group Types With Calendars", then click "Update." When you return to the admin page, the group type should remain unselected, but the group calendars added previously should remain. 10. Add another group of the same type. This time it should not have a group calendar created. Regression Tests ---------------- SDM #7573: 1. Add an item with a duration long enough that the item extends over two days. E.g. Start time: 11pm, duration: 120. 2. View the day view for the date the new item starts, e.g. by clicking on the date from the item detail. 3. There should be no errors and the end date should be displayed as part of the item. Intranet Module --------------- 1. Calendar link on /intranet/ad-index.tcl links to group calendar page showing absences and old calendar items. 2. Go to /intranet/absences/ (follow "Work absences" link from workspace.) Select "Add an office absence." Add an absence. There should be no errors. Check that the absence shows up on the monthly calendar. Clicking the link should go to the correct "Edit absence" page. 3. Edit the absence. Check that the change shows up in the calendar. 4. Delete the absence. Insure that it is gone from the calendar. Reservations Module ------------------- cr-calendar integration: 1. Navigate to /reservations/cr/. Make one reservation, leave "mark calendar" checkbox unchecked. result: reservation is made successfully. no calendar relevant info asked. no calendar marked. 2. Make one reservation, check "mark calendar" checkbox. Then choose a group to mark calendar on the next page result: reservation is made successfully. the group calendar is marked with correct date time and meeting information. The group calendar item shows on members' calendars. 3. Make one reservation, check "mark calendar" checkbox. Then choose a list of users to mark calendar on the next page result: reservation is made successfully. All users in the list have calendars marked. 4. Cancel one reservation, which isn't marked on anyone's calendar result: the reservation is cancelled normally. 5. Cancel one reservation, which is marked on a group'd calendar result: the reservation is cancelled normally. the calendar item is removed from that group's calendar 6. Cancel one reservation, which is marked on a list of users' calendars result: the reservation is cancelled normally. the calendar item is removed from all users' calendars in that list massage-calendar integration: 1. Navigate to /reservations/massage/ Make a reservation as user A result: the reservation is made normally the calendar item is inserted with correct time and info 2. Make a reservation as user B for the same session result: the reservation is made normally the calendar item is inserted with correct time and info 3. Cancel the reservation made as user A result: the reservation is cancelled normally the calendar item on user A's calendar is removed the calendar item on user B's calendar remains