2012-10-03 13:24:25 +04:00
|
|
|
=========
|
|
|
|
Testing
|
|
|
|
=========
|
|
|
|
|
2014-05-30 13:39:37 +04:00
|
|
|
Testing Mozillians Code
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
* To run mozillians.org tests::
|
|
|
|
|
|
|
|
$ ./manage.py test
|
|
|
|
|
|
|
|
* If you need a fresh test database::
|
|
|
|
|
|
|
|
$ FORCE_DB=1 ./manage.py test
|
|
|
|
|
|
|
|
* To run all tests in a class::
|
|
|
|
|
|
|
|
$ ./manage.py test mozillians.users.tests.test_models:UserProfileTests
|
|
|
|
|
|
|
|
* If you want to run a single test::
|
|
|
|
|
|
|
|
$ ./manage.py test mozillians.users.tests.test_models:UserProfileTests.test_get_attribute_with_public_level
|
|
|
|
|
|
|
|
to run only `test_get_attribute_with_public_level` test from the `UserProfileTests` class in the `mozillians/users/tests/test_models.py` test file.
|
|
|
|
|
|
|
|
|
2012-10-03 13:24:25 +04:00
|
|
|
Test Coverage
|
|
|
|
-------------
|
|
|
|
|
|
|
|
You can combine `nose` testing with the `coverage` module to get the
|
|
|
|
code coverage of the tests. To get a coverage report for the 'users'
|
|
|
|
package run::
|
|
|
|
|
2014-02-26 14:23:23 +04:00
|
|
|
$ coverage run --omit='*migrations*' manage.py test --noinput
|
|
|
|
$ coverage xml --omit='*migrations*' $(find mozillians -name '*.py')
|
2012-10-03 13:24:25 +04:00
|
|
|
|
2014-02-26 14:23:23 +04:00
|
|
|
Then visit `htmlcov/index.html` to get the coverage results.
|
2017-03-10 12:21:40 +03:00
|
|
|
|
|
|
|
|
|
|
|
Test Cases for NDA renewal feature
|
|
|
|
----------------------------------
|
|
|
|
|
|
|
|
**Verify that the inviter, who is also a group curator is able to renew a user membership 2 weeks before it expires**
|
|
|
|
**Preconditions:**
|
|
|
|
#. Create a closed group with terms in mozillians.org
|
|
|
|
#. Set the membership to expire after several days (>14)
|
|
|
|
#. Login as group curator and invite a mozillian to the closed group
|
|
|
|
#. Login as the mozillian who was invited by curator and accept the invitation to the group and the terms
|
|
|
|
|
|
|
|
* The mozillian becomes a group member
|
|
|
|
|
|
|
|
**Steps:**
|
|
|
|
#. Verify that the group member will receive an email notification 2 weeks before their membership expires
|
|
|
|
#. Verify that the inviter will receive an email notification 2 weeks before user's membership expires
|
|
|
|
#. Login to mozillians.org as the inviter (and also group curator)
|
|
|
|
#. Navigate to group's page
|
|
|
|
#. Select “Renewals” option in filter dropdown, then click Filter button
|
|
|
|
#. Click "Confirm Request" for user's membership renewal request
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
**Expected:**
|
|
|
|
The user continues to be a member of the group, as the membership was renewed by inviter
|
|
|
|
|
|
|
|
|
|
|
|
**Verify that a group curator is able to renew a user membership 2 weeks before it expires, if the inviter is no longer a curator**
|
|
|
|
**Preconditions:**
|
|
|
|
#. Create a reviewed group with terms
|
|
|
|
#. Set the membership to expire after several days (>14)
|
|
|
|
#. Login as group curator and invite a mozillian to the closed group
|
|
|
|
#. Login as the mozillian who was invited by curator and accept the invitation to the group and the terms
|
|
|
|
|
|
|
|
* The mozillian becomes a group member
|
|
|
|
|
|
|
|
#. Add a new curator to the group and remove the initial curator (who is also the inviter) from the group curators list
|
|
|
|
**Steps:**
|
|
|
|
#. Verify that the group member will receive an email notification 2 weeks before their membership expires
|
|
|
|
#. Verify that the group curator will receive an email notification 2 weeks before user's membership expires
|
|
|
|
#. Verify that the inviter will not receive an email notification 2 weeks before user's membership expires, as he/she is not a group curator anymore
|
|
|
|
#. Login to mozillians.org as the group curator
|
|
|
|
#. Navigate to group's page
|
|
|
|
#. Select “Renewals” option in filter dropdown, then click Filter button
|
|
|
|
#. Click "Confirm Request" for user's membership renewal request
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
**Expected:**
|
|
|
|
The user continues to be a member of the group, as the membership was renewed by curator
|
|
|
|
|
|
|
|
|
|
|
|
**Verify the status of a user whose membership to an open group without terms reached expiration date**
|
|
|
|
**Preconditions:**
|
|
|
|
#. Create an open group
|
|
|
|
#. Set the membership to expire after several days (>14)
|
|
|
|
#. Have a user who joined the group
|
|
|
|
**Steps:**
|
|
|
|
#. Login to mozillians.org as the curator of the open group, when the membership reached the expiration date
|
|
|
|
#. Navigate to group page
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is no longer displayed in Group members section (it was removed)
|
|
|
|
**Expected:**
|
|
|
|
The user is not a group member.
|
|
|
|
The user will receive an email “Removed from Mozillians group “X””
|
|
|
|
|
|
|
|
|
|
|
|
**Verify the status of a user whose membership to a reviewed group without terms reached expiration date**
|
|
|
|
**Preconditions:**
|
|
|
|
#. Create a reviewed group with no terms
|
|
|
|
#. Set the membership to expire after several days (>14)
|
|
|
|
#. Have a user added to the group
|
|
|
|
**Steps:**
|
|
|
|
#. Verify that the user will receive an email notification when the membership reached the expiration date (“Status changed for Mozillians group “X””)
|
|
|
|
#. Login to mozillians.org as the curator of the reviewed group, when the membership reached the expiration date
|
|
|
|
#. Navigate to group page
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is no longer displayed in Group members section
|
|
|
|
#. Select “Pending Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
#. Click “Confirm Request” for that user
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
**Expected:**
|
|
|
|
After step 8: The user should receive an email saying “Accepted to Mozillians group “X””
|
|
|
|
After step 10: The user is a member of the group again
|
|
|
|
|
|
|
|
|
|
|
|
**Verify the status of a user whose membership to a reviewed group with terms reached expiration date**
|
|
|
|
**Preconditions:**
|
|
|
|
#. Create a reviewed group with terms
|
|
|
|
#. Set the membership to expire after several days (>14)
|
|
|
|
#. Have a user added to the group
|
|
|
|
**Steps:**
|
|
|
|
#. Verify that the user will receive an email notification when the membership reached the expiration date (“Status changed for Mozillians group “X””)
|
|
|
|
#. Login to mozillians.org as the curator of the reviewed group, when the membership reached the expiration date
|
|
|
|
#. Navigate to group page
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is no longer displayed in Group members section
|
|
|
|
#. Select “Pending Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
#. Click “Confirm Request” for that user
|
|
|
|
#. Select “Pending Terms” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
**Expected:**
|
|
|
|
After step 8: The user should receive an email saying “Accepted to Mozillians group “X””
|
|
|
|
After step 10: If the user accepts the terms, he/she will be member of the group again
|
|
|
|
|
|
|
|
|
|
|
|
**Verify the status of a user whose membership to a closed group without terms reached expiration date**
|
|
|
|
**Preconditions:**
|
|
|
|
#. Create a closed group with no terms.
|
|
|
|
#. Set the membership to expire after several days (>14).
|
|
|
|
#. Have a user added to the group.
|
|
|
|
**Steps:**
|
|
|
|
#. Verify that the user will receive an email notification when the membership reached the expiration date (“Status changed for Mozillians group “X””)
|
|
|
|
#. Login to mozillians.org as the curator of the reviewed group, when the membership reached the expiration date
|
|
|
|
#. Navigate to group page
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is no longer displayed in Group members section
|
|
|
|
#. Select “Pending Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
#. Click “Confirm Request” for that user
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
**Expected:**
|
|
|
|
After step 8: The user should receive an email saying “Accepted to Mozillians group “X””
|
|
|
|
After step 10: The user is a member of the group again
|
|
|
|
|
|
|
|
|
|
|
|
**Verify the status of a user whose membership to a closed group with terms reached expiration date**
|
|
|
|
**Preconditions:**
|
|
|
|
#. Create a closed group with terms
|
|
|
|
#. Set the membership to expire after several days (>14)
|
|
|
|
#. Have a user added to the group
|
|
|
|
**Steps:**
|
|
|
|
#. Verify that the user will receive an email notification when the membership reached the expiration date (“Status changed for Mozillians group “X””)
|
|
|
|
#. Login to mozillians.org as the curator of the closed group, when the membership reached the expiration date
|
|
|
|
#. Navigate to group page
|
|
|
|
#. Select “Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is no longer displayed in Group members section
|
|
|
|
#. Select “Pending Members” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
#. Click “Confirm Request” for that user
|
|
|
|
#. Select “Pending Terms” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is displayed in Group members section
|
|
|
|
**Expected:**
|
|
|
|
After step 8: The user should receive an email saying “Accepted to Mozillians group “X””
|
|
|
|
After step 10: If the user accepts the terms, he/she will be member of the group again
|
|
|
|
|
|
|
|
|
|
|
|
**Verify the status of a user whose request to join a group (with membership set to expire) was never accepted by the curator**
|
|
|
|
**Precondition:**
|
|
|
|
#. Create a reviewed group with no terms
|
|
|
|
#. Set the membership to expire in a few days
|
|
|
|
#. Have a user who submitted a request to join the group
|
|
|
|
**Steps:**
|
|
|
|
#. Login to mozillians.org as the curator of the group, when the membership reached the expiration date
|
|
|
|
#. Navigate to group page
|
|
|
|
#. Select “All” option in filter dropdown, then click Filter button
|
|
|
|
#. Verify that the user added in precondition is not displayed in Group members section (the user was removed)
|
|
|
|
**Expected:**
|
|
|
|
The user is not a member of the group
|
|
|
|
The user will receive an email “Removed from Mozillians group “X””
|