def METHOD_NAME(self):
    """Test the shortening process start-to-finish"""
    # We should start with a blank database
    self.assertEqual(ShortenedLinkHit.objects.all().count(), 0)
    # Create a new shortened link
    data = json.loads(self.client.post('/link/shorten/',
                                       data=json.dumps({'destination': self.path}),
                                       content_type='application/json').content)
    short_path = urllib.parse.urlparse(data['shortenedUrl']).path
    # Navigate to the short link
    response = self.client.get(short_path)
    # Make sure it's found
    self.assertEqual(response.status_code, 302)
    # Make sure the long link location is the same one we shortened.
    scheme, netloc, path, params, query, fragment = urllib.parse.urlparse(response['Location'])
    long_path = urllib.parse.urlunparse(('', '', path, params, query, fragment,))
    # There are certain values of self.path for which this would not be
    # true, for example, if path is '/?', urlunparse will return '/'.
    self.assertEqual(long_path, self.path)
    # And finally, make sure the number of hits was incremented
    self.assertEqual(ShortenedLinkHit.objects.all().count(), 1)