Add utm parameters to course sharing url

This commit is contained in:
Qubad786
2017-04-19 17:16:11 +05:00
parent 70e13407a3
commit c28d7cd5f9
6 changed files with 46 additions and 7 deletions

View File

@@ -2,10 +2,35 @@
Utility methods related to course
"""
import logging
import urllib
from django.conf import settings
log = logging.getLogger(__name__)
COURSE_SHARING_UTM_PARAMETERS = {
'facebook': {
'utm_medium': 'social-post',
'utm_campaign': 'social-sharing',
'utm_source': 'facebook',
},
'twitter': {
'utm_medium': 'social-post',
'utm_campaign': 'social-sharing',
'utm_source': 'twitter',
},
}
def get_encoded_course_sharing_utm_params():
"""
Returns encoded Course Sharing UTM Parameters.
"""
return {
utm_source: urllib.urlencode(utm_params)
for utm_source, utm_params in COURSE_SHARING_UTM_PARAMETERS.iteritems()
}
def get_link_for_about_page(course):
"""

View File

@@ -153,7 +153,8 @@ class LmsDashboardPageTest(BaseLmsDashboardTest):
Validate the behavior of the social sharing feature
"""
twitter_widget = self.dashboard_page.get_course_social_sharing_widget('twitter')
twitter_url = "https://twitter.com/intent/tweet?text=Testing+feature%3A%20http%3A%2F%2Fcustom%2Fcourse%2Furl"
twitter_url = ("https://twitter.com/intent/tweet?text=Testing+feature%3A%20http%3A%2F%2Fcustom%2Fcourse%2Furl"
"%3Futm_campaign%3Dsocial-sharing%26utm_medium%3Dsocial-post%26utm_source%3Dtwitter")
self.assertEqual(twitter_widget.attrs('title')[0], 'Share on Twitter')
self.assertEqual(twitter_widget.attrs('data-tooltip')[0], 'Share on Twitter')
self.assertEqual(twitter_widget.attrs('aria-haspopup')[0], 'true')
@@ -163,8 +164,9 @@ class LmsDashboardPageTest(BaseLmsDashboardTest):
self.assertIn(twitter_url, twitter_widget.attrs('onclick')[0])
facebook_widget = self.dashboard_page.get_course_social_sharing_widget('facebook')
facebook_url = ('https://www.facebook.com/sharer/sharer.php?'
'u=http%3A%2F%2Fcustom%2Fcourse%2Furl&quote=I%27m+taking')
facebook_url = ("https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fcustom%2Fcourse%2Furl%3F"
"utm_campaign%3Dsocial-sharing%26utm_medium%3Dsocial-post%26utm_source%3Dfacebook&"
"quote=I%27m+taking+Test")
self.assertEqual(facebook_widget.attrs('title')[0], 'Share on Facebook')
self.assertEqual(facebook_widget.attrs('data-tooltip')[0], 'Share on Facebook')
self.assertEqual(facebook_widget.attrs('aria-haspopup')[0], 'true')