def test_version_sidebar(self): request = RequestFactory() request.GET = {} request.APP = amo.FIREFOX request.get(reverse("search.search")) facets = { u"platforms": [{u"count": 58, u"term": 1}], u"appversions": [{u"count": 58, u"term": 5000000200100}], u"categories": [{u"count": 55, u"term": 1}], u"tags": [], } versions = version_sidebar(request, {}, facets) assert versions[0].selected versions = version_sidebar(request, {"appver": "5.0"}, facets) assert versions[1].selected # We're not storing the version in the session anymore: no memories. versions = version_sidebar(request, {}, facets) assert versions[0].selected # We read the appver from the cleaned form data. request.GET["appver"] = "123.4" # No form data, fallback to default (first entry). versions = version_sidebar(request, {}, facets) assert versions[0].selected # Form data has the proper version, use it. versions = version_sidebar(request, {"appver": "5.0"}, facets) assert versions[1].selected # Form data has the proper version, which is new: add it. versions = version_sidebar(request, {"appver": "123.4"}, facets) assert versions[1].selected eq_(len(versions), 3)
def test_version_sidebar(self): request = RequestFactory() request.GET = {} request.APP = amo.FIREFOX request.get(reverse('search.search')) facets = { u'platforms': [{u'count': 58, u'term': 1}], u'appversions': [{u'count': 58, u'term': 5000000200100}], u'categories': [{u'count': 55, u'term': 1}], u'tags': [], } versions = version_sidebar(request, {}, facets) assert versions[0].selected versions = version_sidebar(request, {'appver': '5.0'}, facets) assert versions[1].selected # We're not storing the version in the session anymore: no memories. versions = version_sidebar(request, {}, facets) assert versions[0].selected # We read the appver from the cleaned form data. request.GET['appver'] = '123.4' # No form data, fallback to default (first entry). versions = version_sidebar(request, {}, facets) assert versions[0].selected # Form data has the proper version, use it. versions = version_sidebar(request, {'appver': '5.0'}, facets) assert versions[1].selected # Form data has the proper version, which is new: add it. versions = version_sidebar(request, {'appver': '123.4'}, facets) assert versions[1].selected eq_(len(versions), 3)
def check_appver_filters(self, appver, expected): request = RequestFactory() request.APP = amo.FIREFOX facets = { u'platforms': [{ u'count': 58, u'term': 1 }], u'appversions': [{ u'count': 58, u'term': 5000000200100 }], u'categories': [{ u'count': 55, u'term': 1 }], u'tags': [] } versions = version_sidebar(request, {'appver': floor_version(appver)}, facets) all_ = versions.pop(0) eq_(all_.text, 'Any %s' % unicode(request.APP.pretty)) eq_(all_.selected, not expected) return [v.__dict__ for v in versions]
def test_session_version_sidebar(self): request = RequestFactory() request.GET = {} request.session = {} request.APP = amo.FIREFOX request.get(reverse('search.search')) facets = { u'platforms': [{u'count': 58, u'term': 1}], u'appversions': [{u'count': 58, u'term': 5000000200100}], u'categories': [{u'count': 55, u'term': 1}], u'tags': [], } versions = version_sidebar(request, {}, facets) assert versions[0].selected versions = version_sidebar(request, {'appver': '5.0'}, facets) assert versions[1].selected versions = version_sidebar(request, {}, facets) assert versions[1].selected request.GET['appver'] = '' versions = version_sidebar(request, {}, facets) assert versions[0].selected
def test_session_version_sidebar(self): request = RequestFactory() request.GET = {} request.session = {} request.APP = amo.FIREFOX request.get(reverse('search.search')) facets = { u'platforms': [{ u'count': 58, u'term': 1 }], u'appversions': [{ u'count': 58, u'term': 5000000200100 }], u'categories': [{ u'count': 55, u'term': 1 }], u'tags': [], } versions = version_sidebar(request, {}, facets) assert versions[0].selected versions = version_sidebar(request, {'appver': '5.0'}, facets) assert versions[1].selected versions = version_sidebar(request, {}, facets) assert versions[1].selected request.GET['appver'] = '' versions = version_sidebar(request, {}, facets) assert versions[0].selected
def process(self, authenticated, view=None, lang='en-US', app='firefox'): if not view: view = normal_view request = RequestFactory().get('/', HTTP_X_PJAX=True) request.user = Mock() request.APP = amo.APPS[app] request.LANG = lang request.user.is_authenticated.return_value = authenticated return LoginRequiredMiddleware().process_view(request, view, [], {})
def req_factory_factory(url, user=None, post=False, data=None): """Creates a request factory, logged in with the user.""" req = RequestFactory() if post: req = req.post(url, data or {}) else: req = req.get(url, data or {}) if user: req.amo_user = RequestUser.objects.get(id=user.id) req.user = user.user req.groups = req.user.get_profile().groups.all() req.APP = None req.check_ownership = partial(check_ownership, req) return req
def check_appver_filters(self, appver, expected): request = RequestFactory() request.APP = amo.FIREFOX facets = { u"platforms": [{u"count": 58, u"term": 1}], u"appversions": [{u"count": 58, u"term": 5000000200100}], u"categories": [{u"count": 55, u"term": 1}], u"tags": [], } versions = version_sidebar(request, {"appver": floor_version(appver)}, facets) all_ = versions.pop(0) eq_(all_.text, "Any %s" % unicode(request.APP.pretty)) eq_(all_.selected, not expected) return [v.__dict__ for v in versions]