Group Proposals Tab Test

1. Describe the expected behavior and purpose of the new code
This new code involves the operation and integration of the Proposals tab in the Group Information floater. It allows group Members to create Proposals, vote on them, and view the voting history.
3. Detailed plan(s) for testing new functionality, including success and failure cases if possible
[SETUP]
You'll need 4 non-God testers. Tester A creates a new group with "List group in my profile" enabled and is the Owner. Tester A invites Tester B as an Officer and Tester C into the Everyone Role. Tester C also has "Send IM to Email" in Preferences > IM on. Tester D is a non-Member.
[GROUP NON-MEMBER]
01-01 Tester D: Login.
01-02 Tester D: Look at the new group's information by double clicking the group name in Tester A's profile.
01-03 Tester D: Verify the Proposals tab is grayed out and that clicking on it does nothing.
[GROUP MEMBERS: FUNCTIONALITY & CREATING A PROPOSAL]
02-01 Tester A: Login.
02-02 Tester B: Login.
02-03 Tester A: Go to Edit menu > Groups, then select the group and press "Info".
02-04 Tester A: Verify the Proposals tab in the Group Information floater is enabled.
02-05 Tester A: Click the Proposals tab.
02-06 Tester A: Verify the layout looks "correct"; all user interface elements in this tab should be neat and orderly.
02-07 Tester A: Click the "?" button in the upper-right corner.
02-08 Tester A: Verify an appropriately helpful dialog box appears containing understandable text explaining Proposals.
02-09 Tester A: Click "Close".
02-10 Tester A: Verify the help dialog closes.
02-11 Tester A: Click "Create Proposal".
02-12 Tester A: Verify the "Open Group Proposals" display changes to a form asking you to type a proposal description.
02-13 Tester A: Verify the following:
02-14 Tester A: * Quorum defaults to and accurately shows the maximum amount of Members in this group: in this test case, "3 out of 3 members must vote".
02-15 Tester A: * Duration defaults to "7 days".
02-16 Tester A: * To the right of the "Proposal Description" text field, there are three radio buttons: "Simple Majority", "2/3 Majority", and "Unanimous".
02-17 Tester A: Verify non-numeric characters can't be typed in the "Quorum:" and "Duration:" fields.
02-18 Tester A: Try to type in a quorum of "4", higher than the actual number of members in the group.
02-19 Tester A: Verify the number automatically resets to "3" when clicking in the "Duration:" spinner's field.
02-20 Tester A: Verify the Duration can't go higher than 30 days, both when typing in an integer above 30 and when clicking the up arrow on the spinner.
02-21 Tester A: Set quorum to "3 of 3 members must vote", Duration to "1 days", and select "Simple Majority".
02-22 Tester A: Type the following in "Proposal Description": "Is watermelon the best fruit of all?"
02-23 Tester A: Click "Submit Proposal".
[GROUP MEMBERS: FUNCTIONALITY, RECEIVING A PROPOSAL, & VOTING: SIMPLE MAJORITY - SUCCESS]
03-01 Tester B: Verify a blue dialog box comes up immediately in the upper-right corner 
with the following text: "[Tester A] has proposed to vote on: Is watermelon the best fruit 
of all?"
03-02 Tester B: Verify there are also two buttons below the proposal: "Vote Now" 
and "Later".
03-03 Tester B: Click "Vote Now".
03-04 Tester B: Verify the Group Information floater appears, with the Proposals tab active. Select the proposal and press the "View Proposal" button.
03-05 Tester B: Verify the Proposal appears identical in content to when Tester A originally set and sent it:
03-06 Tester B: * Nothing about the proposal itself is editable. The "Proposal Description", "Quorum" spinner, and "Majority" radio buttons are grayed out.
03-07 Tester B: * "Quorum: 3 out of 3 total group members".
03-08 Tester B: * "Simple Majority" is selected.
03-09 Tester B: * Underneath the proposal description, it also says "Voting Start" and "Voting End" with the date and time in the following format: "mm/dd/yyyy hh:mm". For example, "6/20/2006 1:54". The "Voting End" date should be exactly one day ahead of "Voting Start".
03-10 Tester B: * The "Yes", "No", and "Abstain" buttons should all be active.
03-11 Tester B: Click "Yes".
03-12 Tester B: Verify this message appears on top of the proposal description: "You have 
voted: Yes".
03-13 Tester B: Verify this text appears in the blue notice box: "Your vote was received".
03-14 Tester B: Select the proposal and press the "View Proposal" button. Verify "Yes", "No", and "Abstain" buttons are grayed out.
03-15 Tester B: Click the "Yes", "No", and "Abstain" buttons as well as other grayed-out 
widgets.
03-16 Tester B: Verify nothing happens when you try and that you can't vote multiple times.
03-17 Tester B: Verify "View List" is still active.
03-18 Tester B: Click "View List".
03-19 Tester B: Verify the "Open Group Proposals" display changes to a list of current 
proposals, with the following aligned properly:
03-20 Tester B: * Under "Proposal", it says "Is watermelon the best fruit of all?"
03-21 Tester B: * "Voting Ends" should be the same date seen earlier next to "Voting End".
03-22 Tester B: * "Voted?" is "Yes" because you've just voted.
03-23 Tester A: Looking at the blue proposal voting dialog on your screen--which should 
come up the same way it did for Tester B--click "Later".
03-24 Tester A: Verify nothing happens and the dialog box duly disappears.
03-25 Tester A: If you still have the Group Information floater open, close it by clicking 
the "X" button.
03-26 Tester A: Re-open the Group Information floater for the same group, and click the 
Proposals tab.
03-27 Tester A: Select the proposal and press the "View Proposal" button. Verify the current open proposal, "Is watermelon the best fruit of all?", appears and that just like Tester B saw it earlier.
03-28 Tester A: Click "No".
03-29 Tester A: Verify this message appears on top of the proposal description: "You have 
voted: No".
03-30 Tester A: Verify this text appears in the blue notice box: "Your vote was received".
03-31 Tester C: Check your email.
03-32 Tester C: Verify that you got an email message with the subject of "Message From 
Second Life" and text that says: "[Tester A] has proposed to vote in Second Life. Is 
watermelon the best fruit of all?"
03-33 Tester C: Login.
03-34 Tester C: Verify that upon login, you see the same blue voting dialog that Tester A 
and Tester B did.
03-35 Tester C: Click "Vote Now".
03-36 Tester C: Again, verify the Group Information floater appears, with the Proposals 
tab active; this should be consistent with Tester A and Tester B's experiences.
03-37 Tester C: Click "Yes".
03-38 Tester A, B, and C: Logout.
03-39 Tester A, B, and C: Login.
03-40 Tester A, B, and C: Verify upon login, you see text confirming the 
proposal "PASSED!" (since quorum was met before the vote ended).
03-41 Tester A: Return to Group Information > Proposals and at the bottom, verify the 
following's aligned correctly:
03-42 Tester A: * "Is watermelon the best fruit of all?" appears under "Past Vote".
03-43 Tester A: * The correct date and time appear "Voting Ended".
03-44 Tester A: Click the recently-passed proposal, and click "View Item".
03-45 Tester A: Verify that the "Group Voting History" display:
03-46 Tester A: * Displays a correct and expected record of the proposal description and 
summary of results: "Proposal PASSED", and there should be 2 "Yes" votes and 1 "No" vote.
There are other variations for thorough testing. Using the same group and repeating most of the steps from above, set the majority radio button accordingly and continue to set a quorum of 3 members and a voting duration of 1 day. In all cases:
* Verify that your vote was received after clicking the "Yes", "No", or "Abstain" button.
* Verify that your vote was registered correctly (e.g., voting for "Yes" shouldn't count as a "No").
* Verify that after the proposal passes or fails, "View Item" for the proposal in "Group Voting History" displays the correct results.
[VOTING: SIMPLE MAJORITY - FAILURE]
04-01 Tester A: Votes "Yes".
04-02 Tester B: Votes "No".
04-03 Tester C: Votes "No".
04-04 Verify the proposal fails.
[VOTING: 2/3 MAJORITY - SUCCESS]
05-01 Tester A: Votes "Yes".
05-02 Tester B: Votes "Yes".
05-03 Tester C: Votes "No".
05-04 Verify the proposal succeeds.
[VOTING: 2/3 MAJORITY - FAILURE]
06-01 Tester A: Votes "Yes".
06-02 Tester B: Votes "No".
06-03 Tester C: Votes "No".
06-04 Verify the proposal fails.
[VOTING: UNANIMOUS - SUCCESS]
07-01 Tester A: Votes "Yes".
07-02 Tester B: Votes "Yes".
07-03 Tester C: Votes "Yes".
07-04 Verify the proposal succeeds.
[VOTING: UNANIMOUS - FAILURE]
08-01 Tester A: Votes "Yes".
08-02 Tester B: Votes "Yes".
08-03 Tester C: Votes "No".
08-04 Verify the proposal fails.
[VOTING: FAILURE TO MEET QUORUM]
09-01 Tester A: Votes "Abstain".
09-02 Tester B: Votes "Abstain".
09-03 Tester C: Votes "Yes".
09-04 Verify the proposal fails.
4. Detailed plan(s) for testing dependent code, including success and failure cases if possible
Some of the steps above will test dependent code. Also, see other Groups test plans, including the one for the Groups panel.
5. Requirements for gathering data on existing feature being modified, if applicable
NA
5a. Follow this with requirements for gathering data on new feature in new format, etc.
NA
5b. Explain how to compare data to ensure new feature is not worse (i.e. lower framerate, higher bandwidth, more db queries, etc.)
NA
Category:QA Portal
Category:Quality Assurance
Category:Test Scripts