Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
1f3d2c24
Commit
1f3d2c24
authored
Apr 16, 2015
by
Andy Armstrong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Isolate Bok Choy tests to unique test users
parent
9907cb52
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
75 additions
and
59 deletions
+75
-59
common/test/acceptance/pages/lms/account_settings.py
+1
-3
common/test/acceptance/pages/lms/fields.py
+0
-2
common/test/acceptance/tests/helpers.py
+6
-4
common/test/acceptance/tests/lms/test_account_settings.py
+56
-40
common/test/acceptance/tests/lms/test_learner_profile.py
+11
-10
test_root/uploads/.gitignore
+1
-0
No files found.
common/test/acceptance/pages/lms/account_settings.py
View file @
1f3d2c24
...
@@ -17,7 +17,7 @@ class AccountSettingsPage(FieldsMixin, PageObject):
...
@@ -17,7 +17,7 @@ class AccountSettingsPage(FieldsMixin, PageObject):
url
=
"{base}/{settings}"
.
format
(
base
=
BASE_URL
,
settings
=
'account/settings'
)
url
=
"{base}/{settings}"
.
format
(
base
=
BASE_URL
,
settings
=
'account/settings'
)
def
is_browser_on_page
(
self
):
def
is_browser_on_page
(
self
):
return
'Account Settings'
in
self
.
browser
.
title
return
self
.
q
(
css
=
'.account-settings-container'
)
.
present
def
sections_structure
(
self
):
def
sections_structure
(
self
):
"""
"""
...
@@ -31,8 +31,6 @@ class AccountSettingsPage(FieldsMixin, PageObject):
...
@@ -31,8 +31,6 @@ class AccountSettingsPage(FieldsMixin, PageObject):
...
...
]
]
"""
"""
self
.
wait_for_ajax
()
structure
=
[]
structure
=
[]
sections
=
self
.
q
(
css
=
'.section'
)
sections
=
self
.
q
(
css
=
'.section'
)
...
...
common/test/acceptance/pages/lms/fields.py
View file @
1f3d2c24
...
@@ -16,8 +16,6 @@ class FieldsMixin(object):
...
@@ -16,8 +16,6 @@ class FieldsMixin(object):
"""
"""
Return field with field_id.
Return field with field_id.
"""
"""
self
.
wait_for_ajax
()
query
=
self
.
q
(
css
=
'.u-field-{}'
.
format
(
field_id
))
query
=
self
.
q
(
css
=
'.u-field-{}'
.
format
(
field_id
))
return
query
.
text
[
0
]
if
query
.
present
else
None
return
query
.
text
[
0
]
if
query
.
present
else
None
...
...
common/test/acceptance/tests/helpers.py
View file @
1f3d2c24
...
@@ -306,18 +306,20 @@ class EventsTestMixin(object):
...
@@ -306,18 +306,20 @@ class EventsTestMixin(object):
self
.
event_collection
.
drop
()
self
.
event_collection
.
drop
()
self
.
start_time
=
datetime
.
now
()
self
.
start_time
=
datetime
.
now
()
def
get_matching_events
(
self
,
event_type
):
def
get_matching_events
(
self
,
username
,
event_type
):
"""
"""
Returns a cursor for the matching browser events.
Returns a cursor for the matching browser events.
"""
"""
return
self
.
event_collection
.
find
({
return
self
.
event_collection
.
find
({
"username"
:
username
,
"event_type"
:
event_type
,
"event_type"
:
event_type
,
"time"
:
{
"$gt"
:
self
.
start_time
},
"time"
:
{
"$gt"
:
self
.
start_time
},
})
})
def
verify_events_of_type
(
self
,
event_type
,
expected_events
,
expected_referers
=
None
):
def
verify_events_of_type
(
self
,
username
,
event_type
,
expected_events
,
expected_referers
=
None
):
"""Verify that the expected events of a given type were logged.
"""Verify that the expected events of a given type were logged.
Args:
Args:
username (str): The name of the authenticated user.
event_type (str): The type of event to be verified.
event_type (str): The type of event to be verified.
expected_events (list): A list of dicts representing the events that should
expected_events (list): A list of dicts representing the events that should
have been fired.
have been fired.
...
@@ -328,12 +330,12 @@ class EventsTestMixin(object):
...
@@ -328,12 +330,12 @@ class EventsTestMixin(object):
will verify that the referer for the single event ends with "/account/settings".
will verify that the referer for the single event ends with "/account/settings".
"""
"""
EmptyPromise
(
EmptyPromise
(
lambda
:
self
.
get_matching_events
(
event_type
)
.
count
()
>=
len
(
expected_events
),
lambda
:
self
.
get_matching_events
(
username
,
event_type
)
.
count
()
>=
len
(
expected_events
),
"Waiting for the minimum number of events of type {type} to have been recorded"
.
format
(
type
=
event_type
)
"Waiting for the minimum number of events of type {type} to have been recorded"
.
format
(
type
=
event_type
)
)
.
fulfill
()
)
.
fulfill
()
# Verify that the correct events were fired
# Verify that the correct events were fired
cursor
=
self
.
get_matching_events
(
event_type
)
cursor
=
self
.
get_matching_events
(
username
,
event_type
)
actual_events
=
[]
actual_events
=
[]
actual_referers
=
[]
actual_referers
=
[]
for
__
in
range
(
0
,
cursor
.
count
()):
for
__
in
range
(
0
,
cursor
.
count
()):
...
...
common/test/acceptance/tests/lms/test_account_settings.py
View file @
1f3d2c24
...
@@ -9,7 +9,6 @@ from bok_choy.web_app_test import WebAppTest
...
@@ -9,7 +9,6 @@ from bok_choy.web_app_test import WebAppTest
from
...pages.lms.account_settings
import
AccountSettingsPage
from
...pages.lms.account_settings
import
AccountSettingsPage
from
...pages.lms.auto_auth
import
AutoAuthPage
from
...pages.lms.auto_auth
import
AutoAuthPage
from
...pages.lms.dashboard
import
DashboardPage
from
...pages.lms.dashboard
import
DashboardPage
from
..helpers
import
EventsTestMixin
from
..helpers
import
EventsTestMixin
from
..helpers
import
EventsTestMixin
...
@@ -19,42 +18,41 @@ class AccountSettingsTestMixin(EventsTestMixin, WebAppTest):
...
@@ -19,42 +18,41 @@ class AccountSettingsTestMixin(EventsTestMixin, WebAppTest):
Mixin with helper methods to test the account settings page.
Mixin with helper methods to test the account settings page.
"""
"""
USERNAME
=
u"test"
PASSWORD
=
"testpass"
EMAIL
=
u"test@example.com"
CHANGE_INITIATED_EVENT_NAME
=
u"edx.user.settings.change_initiated"
CHANGE_INITIATED_EVENT_NAME
=
u"edx.user.settings.change_initiated"
USER_SETTINGS_CHANGED_EVENT_NAME
=
'edx.user.settings.changed'
USER_SETTINGS_CHANGED_EVENT_NAME
=
'edx.user.settings.changed'
ACCOUNT_SETTINGS_REFERER
=
u"/account/settings"
ACCOUNT_SETTINGS_REFERER
=
u"/account/settings"
def
setUp
(
self
):
def
log_in_as_unique_user
(
self
,
email
=
None
):
"""
"""
Initialize account and pages
.
Create a unique user and return the account's username and id
.
"""
"""
super
(
AccountSettingsTestMixin
,
self
)
.
setUp
()
username
=
"test_{uuid}"
.
format
(
uuid
=
self
.
unique_id
[
0
:
6
])
auto_auth_page
=
AutoAuthPage
(
self
.
browser
,
username
=
username
,
email
=
email
)
.
visit
()
user_id
=
auto_auth_page
.
get_user_id
()
return
username
,
user_id
self
.
user_id
=
AutoAuthPage
(
def
assert_event_emitted_num_times
(
self
,
user_id
,
setting
,
num_times
):
self
.
browser
,
username
=
self
.
USERNAME
,
password
=
self
.
PASSWORD
,
email
=
self
.
EMAIL
)
.
visit
()
.
get_user_id
()
def
assert_event_emitted_num_times
(
self
,
setting
,
num_times
):
"""
"""
Verify a particular user settings change event was emitted a certain
Verify a particular user settings change event was emitted a certain
number of times.
number of times.
"""
"""
# pylint disable=no-member
# pylint disable=no-member
super
(
AccountSettingsTestMixin
,
self
)
.
assert_event_emitted_num_times
(
super
(
AccountSettingsTestMixin
,
self
)
.
assert_event_emitted_num_times
(
self
.
USER_SETTINGS_CHANGED_EVENT_NAME
,
self
.
start_time
,
self
.
user_id
,
num_times
,
setting
=
setting
self
.
USER_SETTINGS_CHANGED_EVENT_NAME
,
self
.
start_time
,
user_id
,
num_times
,
setting
=
setting
)
)
def
verify_settings_changed_events
(
self
,
events
,
table
=
None
):
def
verify_settings_changed_events
(
self
,
username
,
user_id
,
events
,
table
=
None
):
"""
"""
Verify a particular set of account settings change events were fired.
Verify a particular set of account settings change events were fired.
"""
"""
expected_referers
=
[
self
.
ACCOUNT_SETTINGS_REFERER
]
*
len
(
events
)
expected_referers
=
[
self
.
ACCOUNT_SETTINGS_REFERER
]
*
len
(
events
)
for
event
in
events
:
for
event
in
events
:
event
[
u'user_id'
]
=
long
(
self
.
user_id
)
event
[
u'user_id'
]
=
long
(
user_id
)
event
[
u'table'
]
=
u"auth_userprofile"
if
table
is
None
else
table
event
[
u'table'
]
=
u"auth_userprofile"
if
table
is
None
else
table
self
.
verify_events_of_type
(
self
.
USER_SETTINGS_CHANGED_EVENT_NAME
,
events
,
expected_referers
=
expected_referers
)
self
.
verify_events_of_type
(
username
,
self
.
USER_SETTINGS_CHANGED_EVENT_NAME
,
events
,
expected_referers
=
expected_referers
)
class
DashboardMenuTest
(
AccountSettingsTestMixin
,
WebAppTest
):
class
DashboardMenuTest
(
AccountSettingsTestMixin
,
WebAppTest
):
...
@@ -71,6 +69,7 @@ class DashboardMenuTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -71,6 +69,7 @@ class DashboardMenuTest(AccountSettingsTestMixin, WebAppTest):
And I click on "Account Settings" in the top drop down
And I click on "Account Settings" in the top drop down
Then I should see my account settings page
Then I should see my account settings page
"""
"""
self
.
log_in_as_unique_user
()
dashboard_page
=
DashboardPage
(
self
.
browser
)
dashboard_page
=
DashboardPage
(
self
.
browser
)
dashboard_page
.
visit
()
dashboard_page
.
visit
()
dashboard_page
.
click_username_dropdown
()
dashboard_page
.
click_username_dropdown
()
...
@@ -89,10 +88,16 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -89,10 +88,16 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
Initialize account and pages.
Initialize account and pages.
"""
"""
super
(
AccountSettingsPageTest
,
self
)
.
setUp
()
super
(
AccountSettingsPageTest
,
self
)
.
setUp
()
self
.
username
,
self
.
user_id
=
self
.
log_in_as_unique_user
()
self
.
visit_account_settings_page
()
# Visit the account settings page for the current user.
def
visit_account_settings_page
(
self
):
"""
Visit the account settings page for the current user.
"""
self
.
account_settings_page
=
AccountSettingsPage
(
self
.
browser
)
self
.
account_settings_page
=
AccountSettingsPage
(
self
.
browser
)
self
.
account_settings_page
.
visit
()
self
.
account_settings_page
.
visit
()
self
.
account_settings_page
.
wait_for_ajax
()
def
test_page_view_event
(
self
):
def
test_page_view_event
(
self
):
"""
"""
...
@@ -104,9 +109,10 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -104,9 +109,10 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
Then a page view analytics event should be recorded
Then a page view analytics event should be recorded
"""
"""
self
.
verify_events_of_type
(
self
.
verify_events_of_type
(
self
.
username
,
u"edx.user.settings.viewed"
,
u"edx.user.settings.viewed"
,
[{
[{
u"user_id"
:
int
(
self
.
user_id
),
u"user_id"
:
long
(
self
.
user_id
),
u"page"
:
u"account"
,
u"page"
:
u"account"
,
u"visibility"
:
None
,
u"visibility"
:
None
,
}]
}]
...
@@ -195,6 +201,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -195,6 +201,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
self
.
account_settings_page
.
wait_for_loading_indicator
()
self
.
account_settings_page
.
wait_for_loading_indicator
()
else
:
else
:
self
.
browser
.
refresh
()
self
.
browser
.
refresh
()
self
.
account_settings_page
.
wait_for_page
()
self
.
assertEqual
(
self
.
account_settings_page
.
value_for_dropdown_field
(
field_id
),
new_value
)
self
.
assertEqual
(
self
.
account_settings_page
.
value_for_dropdown_field
(
field_id
),
new_value
)
def
_test_link_field
(
self
,
field_id
,
title
,
link_title
,
success_message
):
def
_test_link_field
(
self
,
field_id
,
title
,
link_title
,
success_message
):
...
@@ -210,11 +217,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -210,11 +217,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
"""
"""
Test behaviour of "Username" field.
Test behaviour of "Username" field.
"""
"""
self
.
_test_readonly_field
(
self
.
_test_readonly_field
(
'username'
,
'Username'
,
self
.
username
)
'username'
,
'Username'
,
self
.
USERNAME
,
)
def
test_full_name_field
(
self
):
def
test_full_name_field
(
self
):
"""
"""
...
@@ -223,21 +226,22 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -223,21 +226,22 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
self
.
_test_text_field
(
self
.
_test_text_field
(
u'name'
,
u'name'
,
u'Full Name'
,
u'Full Name'
,
self
.
USERNAME
,
self
.
username
,
u'@'
,
u'@'
,
[
u'another name'
,
self
.
USERNAME
],
[
u'another name'
,
self
.
username
],
)
)
self
.
verify_settings_changed_events
(
self
.
verify_settings_changed_events
(
self
.
username
,
self
.
user_id
,
[{
[{
u"setting"
:
u"name"
,
u"setting"
:
u"name"
,
u"old"
:
self
.
USERNAME
,
u"old"
:
self
.
username
,
u"new"
:
u"another name"
,
u"new"
:
u"another name"
,
},
},
{
{
u"setting"
:
u"name"
,
u"setting"
:
u"name"
,
u"old"
:
u'another name'
,
u"old"
:
u'another name'
,
u"new"
:
self
.
USERNAME
,
u"new"
:
self
.
username
,
}]
}]
)
)
...
@@ -245,10 +249,13 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -245,10 +249,13 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
"""
"""
Test behaviour of "Email" field.
Test behaviour of "Email" field.
"""
"""
EMAIL
=
u"test@example.com"
username
,
user_id
=
self
.
log_in_as_unique_user
(
email
=
EMAIL
)
self
.
visit_account_settings_page
()
self
.
_test_text_field
(
self
.
_test_text_field
(
u'email'
,
u'email'
,
u'Email Address'
,
u'Email Address'
,
self
.
EMAIL
,
EMAIL
,
u'@'
,
u'@'
,
[
u'me@here.com'
,
u'you@there.com'
],
[
u'me@here.com'
,
u'you@there.com'
],
success_message
=
'Click the link in the message to update your email address.'
,
success_message
=
'Click the link in the message to update your email address.'
,
...
@@ -256,18 +263,19 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -256,18 +263,19 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
)
)
self
.
verify_events_of_type
(
self
.
verify_events_of_type
(
username
,
self
.
CHANGE_INITIATED_EVENT_NAME
,
self
.
CHANGE_INITIATED_EVENT_NAME
,
[
[
{
{
u"user_id"
:
int
(
self
.
user_id
),
u"user_id"
:
long
(
user_id
),
u"setting"
:
u"email"
,
u"setting"
:
u"email"
,
u"old"
:
self
.
EMAIL
,
u"old"
:
EMAIL
,
u"new"
:
u'me@here.com'
u"new"
:
u'me@here.com'
},
},
{
{
u"user_id"
:
int
(
self
.
user_id
),
u"user_id"
:
long
(
user_id
),
u"setting"
:
u"email"
,
u"setting"
:
u"email"
,
u"old"
:
self
.
EMAIL
,
# NOTE the first email change was never confirmed, so old has not changed.
u"old"
:
EMAIL
,
# NOTE the first email change was never confirmed, so old has not changed.
u"new"
:
u'you@there.com'
u"new"
:
u'you@there.com'
}
}
],
],
...
@@ -275,7 +283,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -275,7 +283,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
)
)
# Email is not saved until user confirms, so no events should have been
# Email is not saved until user confirms, so no events should have been
# emitted.
# emitted.
self
.
assert_event_emitted_num_times
(
'email'
,
0
)
self
.
assert_event_emitted_num_times
(
user_id
,
'email'
,
0
)
def
test_password_field
(
self
):
def
test_password_field
(
self
):
"""
"""
...
@@ -289,6 +297,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -289,6 +297,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
)
)
self
.
verify_events_of_type
(
self
.
verify_events_of_type
(
self
.
username
,
self
.
CHANGE_INITIATED_EVENT_NAME
,
self
.
CHANGE_INITIATED_EVENT_NAME
,
[{
[{
u"user_id"
:
int
(
self
.
user_id
),
u"user_id"
:
int
(
self
.
user_id
),
...
@@ -300,7 +309,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -300,7 +309,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
)
)
# Like email, since the user has not confirmed their password change,
# Like email, since the user has not confirmed their password change,
# the field has not yet changed, so no events will have been emitted.
# the field has not yet changed, so no events will have been emitted.
self
.
assert_event_emitted_num_times
(
'password'
,
0
)
self
.
assert_event_emitted_num_times
(
self
.
user_id
,
'password'
,
0
)
@skip
(
@skip
(
'On bokchoy test servers, language changes take a few reloads to fully realize '
'On bokchoy test servers, language changes take a few reloads to fully realize '
...
@@ -329,6 +338,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -329,6 +338,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
[
u'Bachelor
\'
s degree'
,
u''
],
[
u'Bachelor
\'
s degree'
,
u''
],
)
)
self
.
verify_settings_changed_events
(
self
.
verify_settings_changed_events
(
self
.
username
,
self
.
user_id
,
[{
[{
u"setting"
:
u"level_of_education"
,
u"setting"
:
u"level_of_education"
,
u"old"
:
None
,
u"old"
:
None
,
...
@@ -352,6 +362,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -352,6 +362,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
[
u'Female'
,
u''
],
[
u'Female'
,
u''
],
)
)
self
.
verify_settings_changed_events
(
self
.
verify_settings_changed_events
(
self
.
username
,
self
.
user_id
,
[{
[{
u"setting"
:
u"gender"
,
u"setting"
:
u"gender"
,
u"old"
:
None
,
u"old"
:
None
,
...
@@ -378,6 +389,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -378,6 +389,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
[
u'1980'
,
u''
],
[
u'1980'
,
u''
],
)
)
self
.
verify_settings_changed_events
(
self
.
verify_settings_changed_events
(
self
.
username
,
self
.
user_id
,
[{
[{
u"setting"
:
u"year_of_birth"
,
u"setting"
:
u"year_of_birth"
,
u"old"
:
None
,
u"old"
:
None
,
...
@@ -400,17 +412,21 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
...
@@ -400,17 +412,21 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
u''
,
u''
,
[
u'Pakistan'
,
u'Palau'
],
[
u'Pakistan'
,
u'Palau'
],
)
)
def
test_country_field_events
(
self
):
"""
Test that saving the country field records the correct events.
"""
self
.
reset_event_tracking
()
self
.
assertEqual
(
self
.
account_settings_page
.
value_for_dropdown_field
(
u'country'
,
u'Pakistan'
),
u'Pakistan'
)
self
.
account_settings_page
.
wait_for_messsage
(
u'country'
,
self
.
SUCCESS_MESSAGE
)
self
.
verify_settings_changed_events
(
self
.
verify_settings_changed_events
(
self
.
username
,
self
.
user_id
,
[{
[{
u"setting"
:
u"country"
,
u"setting"
:
u"country"
,
u"old"
:
None
,
u"old"
:
None
,
u"new"
:
u'PK'
,
u"new"
:
u'PK'
,
},
}],
{
u"setting"
:
u"country"
,
u"old"
:
u'PK'
,
u"new"
:
u'PW'
,
}]
)
)
def
test_preferred_language_field
(
self
):
def
test_preferred_language_field
(
self
):
...
...
common/test/acceptance/tests/lms/test_learner_profile.py
View file @
1f3d2c24
...
@@ -84,14 +84,15 @@ class LearnerProfileTestMixin(EventsTestMixin):
...
@@ -84,14 +84,15 @@ class LearnerProfileTestMixin(EventsTestMixin):
str
(
birth_year
)
str
(
birth_year
)
)
)
def
verify_profile_page_view_event
(
self
,
profile_user_id
,
visibility
=
None
):
def
verify_profile_page_view_event
(
self
,
requesting_username
,
profile_user_id
,
visibility
=
None
):
"""
"""
Verifies that the correct view event was captured for the profile page.
Verifies that the correct view event was captured for the profile page.
"""
"""
self
.
verify_events_of_type
(
self
.
verify_events_of_type
(
requesting_username
,
u"edx.user.settings.viewed"
,
u"edx.user.settings.viewed"
,
[{
[{
u"user_id"
:
int
(
profile_user_id
),
u"user_id"
:
long
(
profile_user_id
),
u"page"
:
u"profile"
,
u"page"
:
u"profile"
,
u"visibility"
:
unicode
(
visibility
),
u"visibility"
:
unicode
(
visibility
),
}]
}]
...
@@ -180,7 +181,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
...
@@ -180,7 +181,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
self
.
assertTrue
(
profile_page
.
privacy_field_visible
)
self
.
assertTrue
(
profile_page
.
privacy_field_visible
)
self
.
assertEqual
(
profile_page
.
visible_fields
,
self
.
PRIVATE_PROFILE_FIELDS
)
self
.
assertEqual
(
profile_page
.
visible_fields
,
self
.
PRIVATE_PROFILE_FIELDS
)
self
.
verify_profile_page_view_event
(
user_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
self
.
verify_profile_page_view_event
(
user
name
,
user
_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
def
test_fields_on_my_public_profile
(
self
):
def
test_fields_on_my_public_profile
(
self
):
"""
"""
...
@@ -202,7 +203,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
...
@@ -202,7 +203,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
self
.
assertEqual
(
profile_page
.
editable_fields
,
self
.
PUBLIC_PROFILE_EDITABLE_FIELDS
)
self
.
assertEqual
(
profile_page
.
editable_fields
,
self
.
PUBLIC_PROFILE_EDITABLE_FIELDS
)
self
.
verify_profile_page_view_event
(
user_id
,
visibility
=
self
.
PRIVACY_PUBLIC
)
self
.
verify_profile_page_view_event
(
user
name
,
user
_id
,
visibility
=
self
.
PRIVACY_PUBLIC
)
def
_test_dropdown_field
(
self
,
profile_page
,
field_id
,
new_value
,
displayed_value
,
mode
):
def
_test_dropdown_field
(
self
,
profile_page
,
field_id
,
new_value
,
displayed_value
,
mode
):
"""
"""
...
@@ -332,7 +333,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
...
@@ -332,7 +333,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
username
,
user_id
=
self
.
log_in_as_unique_user
()
username
,
user_id
=
self
.
log_in_as_unique_user
()
message
=
"You must specify your birth year before you can share your full profile."
message
=
"You must specify your birth year before you can share your full profile."
self
.
verify_profile_forced_private_message
(
username
,
birth_year
=
None
,
message
=
message
)
self
.
verify_profile_forced_private_message
(
username
,
birth_year
=
None
,
message
=
message
)
self
.
verify_profile_page_view_event
(
user_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
self
.
verify_profile_page_view_event
(
user
name
,
user
_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
def
test_user_is_under_age
(
self
):
def
test_user_is_under_age
(
self
):
"""
"""
...
@@ -350,7 +351,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
...
@@ -350,7 +351,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
birth_year
=
under_age_birth_year
,
birth_year
=
under_age_birth_year
,
message
=
'You must be over 13 to share a full profile.'
message
=
'You must be over 13 to share a full profile.'
)
)
self
.
verify_profile_page_view_event
(
user_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
self
.
verify_profile_page_view_event
(
user
name
,
user
_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
def
test_user_can_only_see_default_image_for_private_profile
(
self
):
def
test_user_can_only_see_default_image_for_private_profile
(
self
):
"""
"""
...
@@ -557,12 +558,12 @@ class DifferentUserLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
...
@@ -557,12 +558,12 @@ class DifferentUserLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
Then I see some of the profile fields are shown.
Then I see some of the profile fields are shown.
"""
"""
different_username
,
different_user_id
=
self
.
_initialize_different_user
(
privacy
=
self
.
PRIVACY_PRIVATE
)
different_username
,
different_user_id
=
self
.
_initialize_different_user
(
privacy
=
self
.
PRIVACY_PRIVATE
)
self
.
log_in_as_unique_user
()
username
,
__
=
self
.
log_in_as_unique_user
()
profile_page
=
self
.
visit_profile_page
(
different_username
)
profile_page
=
self
.
visit_profile_page
(
different_username
)
self
.
assertFalse
(
profile_page
.
privacy_field_visible
)
self
.
assertFalse
(
profile_page
.
privacy_field_visible
)
self
.
assertEqual
(
profile_page
.
visible_fields
,
self
.
PRIVATE_PROFILE_FIELDS
)
self
.
assertEqual
(
profile_page
.
visible_fields
,
self
.
PRIVATE_PROFILE_FIELDS
)
self
.
verify_profile_page_view_event
(
different_user_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
self
.
verify_profile_page_view_event
(
username
,
different_user_id
,
visibility
=
self
.
PRIVACY_PRIVATE
)
def
test_different_user_under_age
(
self
):
def
test_different_user_under_age
(
self
):
"""
"""
...
@@ -597,13 +598,13 @@ class DifferentUserLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
...
@@ -597,13 +598,13 @@ class DifferentUserLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
Also `location`, `language` and `about me` fields are not editable.
Also `location`, `language` and `about me` fields are not editable.
"""
"""
different_username
,
different_user_id
=
self
.
_initialize_different_user
(
privacy
=
self
.
PRIVACY_PUBLIC
)
different_username
,
different_user_id
=
self
.
_initialize_different_user
(
privacy
=
self
.
PRIVACY_PUBLIC
)
self
.
log_in_as_unique_user
()
username
,
__
=
self
.
log_in_as_unique_user
()
profile_page
=
self
.
visit_profile_page
(
different_username
)
profile_page
=
self
.
visit_profile_page
(
different_username
)
profile_page
.
wait_for_public_fields
()
profile_page
.
wait_for_public_fields
()
self
.
assertFalse
(
profile_page
.
privacy_field_visible
)
self
.
assertFalse
(
profile_page
.
privacy_field_visible
)
self
.
assertEqual
(
profile_page
.
visible_fields
,
self
.
PUBLIC_PROFILE_FIELDS
)
self
.
assertEqual
(
profile_page
.
visible_fields
,
self
.
PUBLIC_PROFILE_FIELDS
)
self
.
assertEqual
(
profile_page
.
editable_fields
,
[])
self
.
assertEqual
(
profile_page
.
editable_fields
,
[])
self
.
verify_profile_page_view_event
(
different_user_id
,
visibility
=
self
.
PRIVACY_PUBLIC
)
self
.
verify_profile_page_view_event
(
username
,
different_user_id
,
visibility
=
self
.
PRIVACY_PUBLIC
)
def
_initialize_different_user
(
self
,
privacy
=
None
,
birth_year
=
None
):
def
_initialize_different_user
(
self
,
privacy
=
None
,
birth_year
=
None
):
"""
"""
...
...
test_root/uploads/.gitignore
View file @
1f3d2c24
*.csv
*.csv
*.jpg
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment