Пример #1
0
    def test_single_list(self):
        alist = ListFactory()
        alist.owner = self.user
        alist.save()
        cache.delete('tags_csv')

        resp = self.client.get(reverse('list-single', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 302)

        resp = self.client.get(reverse('list-single', kwargs={'list_pk': 1337}))
        self.assertEqual(resp.status_code, 404)

        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': alist.slug}))
        self.assertEqual(resp.status_code, 200)

        self.client.login(username=self.user.username, password='******')
        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': alist.slug}))
        self.assertEqual(resp.status_code, 200)

        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': 'something'}))
        self.assertEqual(resp.status_code, 404)

        alist.owner = self.user2
        alist.is_public = False
        alist.save()
        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': alist.slug}))
        self.assertEqual(resp.status_code, 403)
Пример #2
0
    def test_single_list(self):
        alist = ListFactory()
        alist.owner = self.user
        alist.save()
        cache.delete("tags_csv")

        resp = self.client.get(reverse("list-single", kwargs={"list_pk": alist.pk}))
        self.assertEqual(resp.status_code, 302)

        resp = self.client.get(reverse("list-single", kwargs={"list_pk": 1337}))
        self.assertEqual(resp.status_code, 404)

        resp = self.client.get(reverse("list-single-slug", kwargs={"list_pk": alist.pk, "list_slug": alist.slug}))
        self.assertEqual(resp.status_code, 200)

        self.client.login(username=self.user.username, password="******")
        resp = self.client.get(reverse("list-single-slug", kwargs={"list_pk": alist.pk, "list_slug": alist.slug}))
        self.assertEqual(resp.status_code, 200)

        resp = self.client.get(reverse("list-single-slug", kwargs={"list_pk": alist.pk, "list_slug": "something"}))
        self.assertEqual(resp.status_code, 404)

        alist.owner = self.user2
        alist.is_public = False
        alist.save()
        resp = self.client.get(reverse("list-single-slug", kwargs={"list_pk": alist.pk, "list_slug": alist.slug}))
        self.assertEqual(resp.status_code, 403)
Пример #3
0
    def test_single_list(self):
        alist = ListFactory()
        alist.owner = self.user
        alist.save()
        cache.delete('tags_csv')

        resp = self.client.get(reverse('list-single', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 302)

        resp = self.client.get(reverse('list-single', kwargs={'list_pk': 1337}))
        self.assertEqual(resp.status_code, 404)

        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': alist.slug}))
        self.assertEqual(resp.status_code, 200)

        self.client.login(username=self.user.username, password='******')
        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': alist.slug}))
        self.assertEqual(resp.status_code, 200)

        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': 'something'}))
        self.assertEqual(resp.status_code, 404)

        alist.owner = self.user2
        alist.is_public = False
        alist.save()
        resp = self.client.get(reverse('list-single-slug', kwargs={'list_pk': alist.pk, 'list_slug': alist.slug}))
        self.assertEqual(resp.status_code, 403)
Пример #4
0
    def test_slug(self):
        alist = ListFactory()
        alist.owner = self.user
        alist.save()

        alist2 = ListFactory()
        alist2.owner = self.user
        alist2.save()

        self.assertEqual(alist.slug, 'my-own-public-list')
        self.assertEqual(alist2.slug, 'my-own-public-list-1')
Пример #5
0
    def test_most_viewed(self):
        alist = ListFactory()
        alist.title = "Most viewed"
        alist.owner = self.user
        alist.views = 100
        alist.save()

        alist2 = ListFactory()
        alist2.title = "Not the most viewed"
        alist2.owner = self.user
        alist2.views = 10
        alist2.save()
        self.assertEqual(List.objects.most_viewed(limit=1)[0], alist)
Пример #6
0
    def test_get_tags(self):
        alist = ListFactory()
        alist.owner = self.user
        alist.save()

        link = LinkFactory()
        link.author = self.user
        link.save()
        self.assertEqual(link.get_categories(), "")

        link.tags.add('book')
        link.tags.add('article')
        link.tags.add('something')

        listlink = ListLinks.objects.create(
            alist=alist,
            links=link
        )
        listlink.add()

        self.assertEqual(alist.get_tags()[0], (u'article', u'article', 1))
        self.assertEqual(alist.get_tags()[1], (u'book', u'book', 1))
        self.assertEqual(alist.get_tags()[2], (u'something', u'something', 1))

        listlink.remove()
Пример #7
0
    def test_edit_list(self):
        alist = ListFactory()
        alist.title = 'My list 2'
        alist.owner = self.user
        alist.language = Language.objects.create(language='en', name='English')
        alist.save()

        resp = self.client.get(reverse('list-edit', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 302)

        self.client.login(username=self.user2.username, password='******')
        resp = self.client.get(reverse('list-edit', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 403)

        self.client.login(username=self.user.username, password='******')
        resp = self.client.get(reverse('list-edit', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 200)

        resp = self.client.post(reverse('list-edit', kwargs={'list_pk': alist.pk}), {
            'title': 'My list 2',
            'description': 'something',
            'private': False,
            'language': 'en',
            'url': '',
            'mdcontent': '#lala'
        })
        self.assertEqual(List.objects.get(title='My list 2').description, 'something')
Пример #8
0
    def test_latest(self):
        import datetime

        alist2 = ListFactory()
        alist2.title = "Latest"
        alist2.owner = self.user
        alist2.pubdate = datetime.date.today()
        alist2.save()

        alist = ListFactory()
        alist.title = "Not the latest"
        alist.owner = self.user
        alist.pubdate = datetime.date.today()-datetime.timedelta(10)
        alist.save()

        self.assertEqual(List.objects.latest(limit=1)[0], alist2)
Пример #9
0
    def test_new_link_invalid(self):
        user = UserFactory()
        user.save()
        self.client.login(username=user.username, password='******')

        alist = ListFactory()
        alist.owner = user
        alist.save()

        resp = self.client.post(
            reverse('new-link'), {
                'url': 'http://12devs.co.uk/articles/204/',
                'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
            })

        self.assertEqual(resp.status_code, 200)

        resp = self.client.post(
            reverse('new-link'), {
                'url': 'http://12devs.co.uk/articles/204/',
                'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
                'ajax': '1'
            })

        self.assertEqual(resp.status_code, 200)
Пример #10
0
    def test_new_link_ajax_exists(self):
        user = UserFactory()
        user.save()
        self.client.login(username=user.username, password='******')

        alist = ListFactory()
        alist.owner = user
        alist.md_content = '#titre'
        alist.save()

        resp = self.client.post(
            reverse('new-link'), {
                'title':
                'Building static websites with Middleman, deploying to Heroku',
                'url': 'http://12devs.co.uk/articles/204/',
                'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
                'ajax': '1',
                'id': alist.pk,
            })

        resp = self.client.post(
            reverse('new-link'), {
                'title':
                'Building static websites with Middleman, deploying to Heroku',
                'url': 'http://12devs.co.uk/articles/204/',
                'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
            })
        self.assertEqual(resp.status_code, 302)
Пример #11
0
    def test_new_link_ajax_exists(self):
        self.client.login(username=self.user.username, password="******")

        alist = ListFactory()
        alist.owner = self.user
        alist.md_content = "#titre"
        alist.save()

        resp = self.client.post(
            reverse("new-link"),
            {
                "title": "Building static websites with Middleman, deploying to Heroku",
                "url": "http://12devs.co.uk/articles/204/",
                "tags": 'Ruby, "Static Site Generator", "Ruby on Rails"',
                "language": "en",
                "level": "beginner",
                "ajax": "1",
                "id": alist.pk,
            },
        )

        resp = self.client.post(
            reverse("new-link"),
            {
                "title": "Building static websites with Middleman, deploying to Heroku",
                "url": "http://12devs.co.uk/articles/204/",
                "tags": 'Ruby, "Static Site Generator", "Ruby on Rails"',
                "language": "en",
                "level": "beginner",
            },
        )
        self.assertEqual(resp.status_code, 302)
Пример #12
0
    def test_edit_list(self):
        alist = ListFactory()
        alist.title = 'My list 2'
        alist.owner = self.user
        alist.language = Language.objects.create(language='en', name='English')
        alist.save()

        resp = self.client.get(reverse('list-edit', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 302)

        self.client.login(username=self.user2.username, password='******')
        resp = self.client.get(reverse('list-edit', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 403)

        self.client.login(username=self.user.username, password='******')
        resp = self.client.get(reverse('list-edit', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 200)

        resp = self.client.post(reverse('list-edit', kwargs={'list_pk': alist.pk}), {
            'title': 'My list 2',
            'description': 'something',
            'private': False,
            'language': 'en',
            'url': '',
            'mdcontent': '#lala'
        })
        self.assertEqual(List.objects.get(title='My list 2').description, 'something')
Пример #13
0
    def test_ajax_add_to_list_or_create(self):
        resp = self.client.get(reverse("ajax-add-to-list-or-create"))
        self.assertEqual(resp.content, json.dumps({"result": "fail"}))

        self.client.login(username=self.user.username, password="******")
        resp = self.client.get(reverse("ajax-add-to-list-or-create"))
        self.assertEqual(resp.content, json.dumps({"result": "fail"}))

        link = LinkFactory()
        link.author = self.user
        link.save()
        cache.delete("link_%s" % link.pk)
        alist = ListFactory()
        alist.owner = self.user
        alist.save()
        resp = self.client.post(reverse("ajax-add-to-list-or-create"), {"lk": link.pk, "ls": alist.pk})
        self.assertEqual(resp.content, json.dumps({"result": "added"}))

        resp = self.client.post(reverse("ajax-add-to-list-or-create"), {"lk": link.pk, "ls": alist.pk})
        self.assertEqual(resp.content, json.dumps({"result": "removed"}))

        resp = self.client.post(reverse("ajax-add-to-list-or-create"), {"lk": link.pk, "t": "toread"})
        self.assertEqual(resp.content, json.dumps({"result": "added"}))

        resp = self.client.post(reverse("ajax-add-to-list-or-create"), {"lk": link.pk, "t": "bookmark"})
        self.assertEqual(resp.content, json.dumps({"result": "added"}))

        resp = self.client.post(reverse("ajax-add-to-list-or-create"), {"lk": link.pk, "t": "something"})
        self.assertEqual(resp.status_code, 404)
Пример #14
0
    def test_new_link_ajax_view(self):
        user = UserFactory()
        user.save()
        self.client.login(username=user.username, password='******')

        resp = self.client.post(
            reverse('new-link'), {
                'title':
                'Building static websites with Middleman, deploying to Heroku',
                'url': 'http://12devs.co.uk/articles/204/',
                'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
                'ajax': '1',
                'id': 91329123,
            })
        self.assertEqual(resp.status_code, 404)

        alist = ListFactory()
        alist.owner = user
        alist.save()
        alist = List.objects.get(owner=user)
        link = Link.objects.get(url="http://12devs.co.uk/articles/204/")

        resp = self.client.post(
            reverse('new-link'), {
                'title':
                'Building static websites with Middleman, deploying to Heroku',
                'url': 'http://12devs.co.uk/articles/204/',
                'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
            })
        self.assertEqual(resp.status_code, 302)
Пример #15
0
    def test_edit_list(self):
        alist = ListFactory()
        alist.title = "My list 2"
        alist.owner = self.user
        alist.language = Language.objects.create(language="en", name="English")
        alist.save()

        resp = self.client.get(reverse("list-edit", kwargs={"list_pk": alist.pk}))
        self.assertEqual(resp.status_code, 302)

        self.client.login(username=self.user2.username, password="******")
        resp = self.client.get(reverse("list-edit", kwargs={"list_pk": alist.pk}))
        self.assertEqual(resp.status_code, 403)

        self.client.login(username=self.user.username, password="******")
        resp = self.client.get(reverse("list-edit", kwargs={"list_pk": alist.pk}))
        self.assertEqual(resp.status_code, 200)

        resp = self.client.post(
            reverse("list-edit", kwargs={"list_pk": alist.pk}),
            {
                "title": "My list 2",
                "description": "something",
                "private": False,
                "language": "en",
                "url": "",
                "mdcontent": "#lala",
            },
        )
        self.assertEqual(List.objects.get(title="My list 2").description, "something")
Пример #16
0
    def test_new_link_ajax_view(self):
        user = UserFactory()
        user.save()
        self.client.login(username=user.username, password='******')

        resp = self.client.post(reverse('new-link'), {
            'title': 'Building static websites with Middleman, deploying to Heroku',
            'url': 'http://12devs.co.uk/articles/204/',
            'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
            'ajax': '1',
            'id': 91329123,
        })
        self.assertEqual(resp.status_code, 404)

        alist = ListFactory()
        alist.owner = user
        alist.save()
        alist = List.objects.get(owner=user)
        link = Link.objects.get(url="http://12devs.co.uk/articles/204/")

        resp = self.client.post(reverse('new-link'), {
            'title': 'Building static websites with Middleman, deploying to Heroku',
            'url': 'http://12devs.co.uk/articles/204/',
            'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
        })
        self.assertEqual(resp.status_code, 302)
Пример #17
0
    def test_lists(self):
        readinglist = ListFactory()
        readinglist.title = "Reading list"
        readinglist.owner = self.user
        readinglist.save()

        alist = ListFactory()
        alist.owner = self.user
        alist.save()

        link = LinkFactory()
        link.author = self.user
        link.save()
        listlink = ListLinks.objects.create(
            alist=alist,
            links=link
        )
        listlink.add()

        self.assertEqual(List.objects.personal_lists(self.user)[0], alist)
        self.assertEqual(List.objects.my_list_titles(self.user, link.pk)[0], alist)
Пример #18
0
    def test_votes(self):
        profile2 = ProfileFactory()
        user2 = profile2.user

        alist = ListFactory()
        alist.owner = user2
        alist.save()

        self.assertEqual(alist.get_votes(), 0)

        alist.vote(self.user)

        self.assertEqual(alist.get_votes(), 1)

        alist.unvote(self.user)

        self.assertEqual(alist.get_votes(), 0)
Пример #19
0
    def test_delete_list(self):
        alist = ListFactory()
        alist.owner = self.user
        alist.save()

        resp = self.client.post(reverse('list-delete', kwargs={'list_pk': alist.pk}), {})
        self.assertEqual(resp.status_code, 302)

        self.client.login(username=self.user2.username, password='******')
        resp = self.client.get(reverse('list-delete', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 403)

        resp = self.client.post(reverse('list-delete', kwargs={'list_pk': alist.pk}), {})
        self.assertEqual(resp.status_code, 404)

        self.client.login(username=self.user.username, password='******')
        resp = self.client.post(reverse('list-delete', kwargs={'list_pk': alist.pk}), {})
        self.assertEqual(resp.status_code, 302)
Пример #20
0
    def test_delete_list(self):
        alist = ListFactory()
        alist.owner = self.user
        alist.save()

        resp = self.client.post(reverse('list-delete', kwargs={'list_pk': alist.pk}), {})
        self.assertEqual(resp.status_code, 302)

        self.client.login(username=self.user2.username, password='******')
        resp = self.client.get(reverse('list-delete', kwargs={'list_pk': alist.pk}))
        self.assertEqual(resp.status_code, 403)

        resp = self.client.post(reverse('list-delete', kwargs={'list_pk': alist.pk}), {})
        self.assertEqual(resp.status_code, 404)

        self.client.login(username=self.user.username, password='******')
        resp = self.client.post(reverse('list-delete', kwargs={'list_pk': alist.pk}), {})
        self.assertEqual(resp.status_code, 302)
Пример #21
0
    def test_ajax_add_to_list_or_create(self):
        resp = self.client.get(reverse('ajax-add-to-list-or-create'))
        self.assertEqual(resp.content, json.dumps({'result': 'fail'}))

        self.client.login(username=self.user.username, password='******')
        resp = self.client.get(reverse('ajax-add-to-list-or-create'))
        self.assertEqual(resp.content, json.dumps({'result': 'fail'}))

        link = LinkFactory()
        link.author = self.user
        link.save()
        cache.delete('link_%s' % link.pk)
        alist = ListFactory()
        alist.owner = self.user
        alist.save()
        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            'ls': alist.pk
        })
        self.assertEqual(resp.content, json.dumps({'result': 'added'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            'ls': alist.pk
        })
        self.assertEqual(resp.content, json.dumps({'result': 'removed'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            't': 'toread'
        })
        self.assertEqual(resp.content, json.dumps({'result': 'added'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            't': 'bookmark'
        })
        self.assertEqual(resp.content, json.dumps({'result': 'added'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            't': 'something'
        })
        self.assertEqual(resp.status_code, 404)
Пример #22
0
    def test_ajax_add_to_list_or_create(self):
        resp = self.client.get(reverse('ajax-add-to-list-or-create'))
        self.assertEqual(resp.content, simplejson.dumps({'result': 'fail'}))

        self.client.login(username=self.user.username, password='******')
        resp = self.client.get(reverse('ajax-add-to-list-or-create'))
        self.assertEqual(resp.content, simplejson.dumps({'result': 'fail'}))

        link = LinkFactory()
        link.author = self.user
        link.save()
        cache.delete('link_%s' % link.pk)
        alist = ListFactory()
        alist.owner = self.user
        alist.save()
        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            'ls': alist.pk
        })
        self.assertEqual(resp.content, simplejson.dumps({'result': 'added'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            'ls': alist.pk
        })
        self.assertEqual(resp.content, simplejson.dumps({'result': 'removed'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            't': 'toread'
        })
        self.assertEqual(resp.content, simplejson.dumps({'result': 'added'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            't': 'bookmark'
        })
        self.assertEqual(resp.content, simplejson.dumps({'result': 'added'}))

        resp = self.client.post(reverse('ajax-add-to-list-or-create'), {
            'lk': link.pk,
            't': 'something'
        })
        self.assertEqual(resp.status_code, 404)
Пример #23
0
    def test_new_link_ajax_notmylist(self):
        user = UserFactory()
        user.username = '******'
        user.save()
        user2 = UserFactory()
        user2.username = '******'
        user2.save()
        self.client.login(username=user.username, password='******')

        alist = ListFactory()
        alist.owner = user2
        alist.save()

        resp = self.client.post(reverse('new-link'), {
            'title': 'Building static websites with Middleman, deploying to Heroku',
            'url': 'http://12devs.co.uk/articles/204/',
            'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
            'ajax': '1',
            'id': alist.pk,
        })

        self.assertEqual(resp.status_code, 404)
Пример #24
0
    def test_new_link_invalid(self):
        user = UserFactory()
        user.save()
        self.client.login(username=user.username, password='******')

        alist = ListFactory()
        alist.owner = user
        alist.save()

        resp = self.client.post(reverse('new-link'), {
            'url': 'http://12devs.co.uk/articles/204/',
            'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
        })

        self.assertEqual(resp.status_code, 200)

        resp = self.client.post(reverse('new-link'), {
            'url': 'http://12devs.co.uk/articles/204/',
            'tags': 'Ruby, "Static Site Generator", "Ruby on Rails"',
            'ajax': '1'
        })

        self.assertEqual(resp.status_code, 200)
Пример #25
0
    def test_new_link_invalid(self):
        self.client.login(username=self.user.username, password="******")

        alist = ListFactory()
        alist.owner = self.user
        alist.save()

        resp = self.client.post(
            reverse("new-link"),
            {"url": "http://12devs.co.uk/articles/204/", "tags": 'Ruby, "Static Site Generator", "Ruby on Rails"'},
        )

        self.assertEqual(resp.status_code, 200)

        resp = self.client.post(
            reverse("new-link"),
            {
                "url": "http://12devs.co.uk/articles/204/",
                "tags": 'Ruby, "Static Site Generator", "Ruby on Rails"',
                "ajax": "1",
            },
        )

        self.assertEqual(resp.status_code, 200)