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
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)
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)
def test_should_bring_older_link_when_access_is_even(redirect): assert get_redirect_url(redirect) == redirect.links.first().url
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