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)
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)
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')
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)
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()
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')
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)
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)
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)
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)
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)
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)
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")
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)
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)
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)
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)
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)
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)
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)
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)
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)