Example #1
0
def test_should_bring_always_link_with_less_access(redirect):
    link1 = redirect.links.first()
    link2 = redirect.links.last()

    link1.total_access = 2
    link1.save()

    assert get_redirect_url(redirect) == link2.url
    assert get_redirect_url(redirect) == link2.url
Example #2
0
def redirect(request, slug: str):
    redirect = Redirect.objects.get(slug=slug)
    url = get_redirect_url(redirect)

    if redirect.use_javascript is False:
        return redirect_url(url)

    ctx = {'url': url}
    return render(request, 'redirector/redirect.html', ctx)
Example #3
0
def redirect(request, slug: str):
    redirect = Redirect.objects.get(slug=slug)
    url = get_redirect_url(redirect)

    if '?' in url and request.GET:
        url = f'{url}&{request.GET.urlencode()}'
    elif request.GET:
        url = f'{url}?{request.GET.urlencode()}'

    if redirect.use_javascript is False:
        return redirect_url(url)

    ctx = {'url': url}
    return render(request, 'redirector/redirect.html', ctx)
Example #4
0
def test_should_bring_older_link_when_access_is_even(redirect):
    assert get_redirect_url(redirect) == redirect.links.first().url
Example #5
0
def test_should_get_url_and_increment_access_count(redirect):
    url = get_redirect_url(redirect)
    assert RedirectLink.objects.get(url=url, redirect=redirect).total_access == 1
def test_should_redirect_url_in_redirect_object(redirect):
    assert get_redirect_url(redirect) == redirect.url