Exemple #1
0
 def test_ensure_views_are_positive(self):
     """ ensure_views_are_positive expects a category initiated with
         negative views to still have non-negative views after saving
     """
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #2
0
    def test_add_category_that_already_exists(self):
        # Create a category in database
        new_category = Category(name="New Category")
        new_category.save()

        # Access index page
        self.browser.get(self.live_server_url + reverse('index'))

        # Check if is there link to add categories
        categories_link = self.browser.find_elements_by_partial_link_text('Add a New Category')
        categories_link[0].click()

        # Types new category name
        username_field = self.browser.find_element_by_name('name')
        username_field.send_keys('New Category')

        # Click on Create Category
        self.browser.find_element_by_css_selector(
            "input[type='submit']"
        ).click()

        body = self.browser.find_element_by_tag_name('body')

        # Check if there is an error message
        self.assertIn('Category with this Name already exists.', body.text)
Exemple #3
0
 def test_slug_line_creation(self):
     """ slug_line_creation expects a category to be given an appropriate
         slug. Eg: "Random Category String" -> "random-category-string"
     """
     cat = Category(name="Random Category String")
     cat.save()
     self.assertEqual(cat.slug, "random-category-string")
Exemple #4
0
 def test_ensure_views_are_positive(self):
     """
             функция ensure_views_are_positive должна возвращать True для категорий, у которых число просмотров равно нулю или положительное
     """
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), False)
Exemple #5
0
def add_cat(no, name, level, views, likes, description='', url=''):
    # c = Category.objects.filter(Q(name=name) | Q(name=(name+" *")))
    c = Category.objects.filter(no=no)

    if c.count() > 0:
        # c = Category.objects.get(Q(name=name) | Q(name=(name+" *")))
        c = Category.objects.get(no=no)

        if c.subject == Subject.objects.get(slug="cse-postgraduate"):
            c.subject = Subject.objects.get(slug="both")
            c.save()
    else:
        c = Category()

        c.name = name
        c.no = no
        c.level = level
        c.views = views
        c.likes = likes
        c.description = description
        c.url = url
        c.subject = Subject.objects.get(slug="cse-undergraduate")

        c.save()

    return c
Exemple #6
0
 def test_ensure_views_are_positive(self):
     """
             ensure_views_are_positive should results True for categories where views are zero or positive
     """
     cat = Category(name='test', view=-1, likes=0)
     cat.save()
     self.assertEqual((cat.view >= 0), True)
Exemple #7
0
 def test_slug_line_creation(self):
     """
     check a category slug is created.
     """
     cat = Category(name='python three')
     cat.save()
     self.assertEqual(cat.slug, 'python-three')
 def test_ensure_views_are_positive(self):
     """
     ensure the views of a category is equal to or above 0
     """
     cat = Category(name='test', views=1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #9
0
    def test_create_pages_for_categories(self):
        cat = Category(name="Python")
        cat.save()

        # create 2 pages for category python
        python_page = Page()
        python_page.category = cat
        python_page.title="Official Python Tutorial"
        python_page.url="http://docs.python.org/2/tutorial/"
        python_page.save()

        django_page = Page()
        django_page.category = cat
        django_page.title="Django"
        django_page.url="https://docs.djangoproject.com/en/1.5/intro/tutorial01/"
        django_page.save()

        # Check if they both were saved
        python_pages = cat.page_set.all()
        self.assertEquals(python_pages.count(), 2)

        #Check if they were saved properly
        first_page = python_pages[0]
        self.assertEquals(first_page, python_page)
        self.assertEquals(first_page.title , "Official Python Tutorial")
        self.assertEquals(first_page.url, "http://docs.python.org/2/tutorial/")
Exemple #10
0
    def test_add_category_that_already_exists(self):
        # Create a category in database
        new_category = Category(name="New Category")
        new_category.save()

        # Access index page
        url = self.live_server_url
        url = url.replace('localhost', '127.0.0.1')
        self.browser.get(url + reverse('index'))

        # Check if is there link to add categories
        categories_link = self.browser.find_elements_by_partial_link_text(
            'Add a New Category')
        if len(categories_link) == 0:
            categories_link = self.browser.find_elements_by_partial_link_text(
                'Add New Category')

        categories_link[0].click()

        # Types new category name
        username_field = self.browser.find_element_by_name('name')
        username_field.send_keys('New Category')

        # Click on Create Category
        self.browser.find_element_by_css_selector(
            "input[type='submit']").click()

        body = self.browser.find_element_by_tag_name('body')

        # Check if there is an error message
        self.assertIn('Category with this Name already exists.'.lower(),
                      body.text.lower())
Exemple #11
0
 def test_first_visit_not_future(self):
     cat = Category(name='test')
     cat.save()
     futuredate = datetime.date.today() + datetime.timedelta(days=30)
     p=add_page (cat, 'first_future', 'www.exemple.it', first_visit=futuredate, last_visit = futuredate)
     self.assertEqual(p.first_visit, datetime.date.today())
     self.assertEqual(p.last_visit, datetime.date.today())
Exemple #12
0
 def test_first_visit_before_last_visit(self):
     cat = Category(name='test')
     cat.save()
     firstdate = datetime.date.today() + datetime.timedelta(days=-3)
     lastdate = datetime.date.today() + datetime.timedelta(days=-5)
     p=add_page (cat, 'first_future', 'www.exemple.it', first_visit=firstdate, last_visit = lastdate)
     self.assertEqual(p.first_visit, p.last_visit)
    def test_ensure_views_are_positive(self):

        cat = Category(name='test', views=-1, likes=0)
        cat.save()
        print 'views', cat.views

        self.assertEqual((cat.views >= 0), True)
Exemple #14
0
 def test_ensure_views_are_positive(self):
     """
     category.view number is zero or positive, it shall never be negative
     """
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #15
0
 def test_category_names_should_be_unique(self):
     
     category1 = Category(name='test', views=1, likes=1)
     category2 = Category(name='test', views=2, likes=2)
     category1.save()
     with self.assertRaises(IntegrityError):
         category2.save()
Exemple #16
0
    def test_ensure_views_are_positive(self):

        cat = Category(name='test',views=-1,likes=0)
        cat.save()
        print 'views', cat.views

        self.assertEqual((cat.views>=0), True)
Exemple #17
0
 def test_ensure_views_are_positive(self):
     '''
     ensure_views_are_positive should results True for categories where views are zero or positive
     '''
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views>=0), True)
Exemple #18
0
    def test_page_views_should_be_nonnegative(self):

        category = Category()
        category.save()
        page = Page(category=category, title='test page', views=-100)
        page.save()
        self.assertTrue(page.views >= 0)
Exemple #19
0
	def test_ensure_last_visit_equal_after_first_visit(self):
		cat = Category(name='test')
		cat.save()
		t1 = timezone.now()
		t2 = timezone.now() + datetime.timedelta(days=30)
		pag = Page(category=cat, first_visit=t1, last_visit=t2)
		self.assertEqual(pag.is_last_visit_equal_after_first_visit(), True)
Exemple #20
0
    def test_create_pages_for_categories(self):
        cat = Category(name="Python")
        cat.save()

        # create 2 pages for category python
        python_page = Page()
        python_page.category = cat
        python_page.title = "Official Python Tutorial"
        python_page.url = "http://docs.python.org/2/tutorial/"
        python_page.save()

        django_page = Page()
        django_page.category = cat
        django_page.title = "Django"
        django_page.url = "https://docs.djangoproject.com/en/1.5/intro/tutorial01/"
        django_page.save()

        # Check if they both were saved
        python_pages = cat.page_set.all()
        self.assertEquals(python_pages.count(), 2)

        #Check if they were saved properly
        first_page = python_pages[0]
        self.assertEquals(first_page, python_page)
        self.assertEquals(first_page.title, "Official Python Tutorial")
        self.assertEquals(first_page.url, "http://docs.python.org/2/tutorial/")
Exemple #21
0
 def test_ensure_category_views_are_postive(self):
     """
         views of Category should be >= 0
     :return:
     """
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #22
0
    def test_category_contains(self):
        """
        test_category_contains tests whether the save() function is working correctly.
        """

        category = Category(name='test', views=21, likes=21)
        category.save()
        self.assertEqual(Category.objects.filter(pk=category.pk).exists(), True)
Exemple #23
0
 def test_ensure_likes_are_positive(self):
     """
     ensure_likes_are_positive should results True for categories
     where likes are zero or positive
     """
     cat = Category(name='test', views=0, likes=-1)
     cat.save()
     self.assertEqual((cat.likes >= 0), True)
Exemple #24
0
 def test_slug_line_creation(self):
     """
     slug_line_creation checks to make sure that when we add a category an appropriate slug line is created
     i.e. "Random Category String" -> "random-category-string"
     """
     cat = Category(name='Random Category String')
     cat.save()
     self.assertEqual(cat.slug, 'random-category-string')
Exemple #25
0
    def test_ensure_views_are_positive(self):

        """
                функция ensure_views_are_positive должна возвращать True для категорий, у которых число просмотров равно нулю или положительное
        """
        cat = Category(name='test',views=-1, likes=0)
        cat.save()
        self.assertEqual((cat.views >= 0), False)
Exemple #26
0
 def test_ensure_views_are_positive(self):
     """
     return: True
     category.views >= 0
     """
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #27
0
 def test_ensure_views_are_positive(self):
     """
     ensure_views_are_positive 函数在分类的查看次数
     为零或正数时应该返回 True
     """
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #28
0
    def test_ensure_views_are_positive(self):
        """
        Гарантирует, что количество просмотров, полученных для категории, будет положительным или нулевым.
        """
        category = Category(name='test', views=-1, likes=0)
        category.save()

        self.assertEqual((category.views >= 0), True)
    def test_ensure_views_are_positive(self):
        '''
        Ensure the number of views received for a Category are positive or zero.
        '''
        category = Category(name='test', views=-1, likes=0)
        category.save()

        self.assertEqual((category.views >= 0), True)
Exemple #30
0
 def test_ensure_views_are_positive(self):
     """
     ensure_views_are_positive should return True for categories
     where views are zero or positive
     """
     cat = Category(name="test", views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #31
0
 def test_slug_line_creation(self):
     """
     slug_line_creation checks to make sure that when we add a category an appropiate slug line is created
     i.e. "Random Category String" -> "random-category-string"
     """
     cat = Category(name="Random Category String", views=0, likes=0)
     cat.save()
     self.assertEqual(cat.slug, 'random-category-string')
Exemple #32
0
 def test_ensure_views_are_positive(self):
     """
     should retrun True for categories whose views are
     zero or positive
     """
     cat = Category(name="test", views=-2, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #33
0
    def test_number_of_likes_is_nonnegative(self):
        """
        The test number_of_views_is_nonnegative should results True for categories where views 
        are zero or positive.
        """

        category = Category(name='test', views=-1, likes=-1)
        category.save()
        self.assertEqual((category.likes >= 0), True)
 def test_slug_line_createion(self):
     """
     测试slug
     :return:
     """
     from rango.models import Category
     cat = Category(name='Random Category String')
     cat.save()
     self.assertEqual(cat.slug, 'random-category-string')
Exemple #35
0
    def test_create_a_new_category(self):
        cat = Category(name="Python")
        cat.save()

        # Check category is in database
        categories_in_database = Category.objects.all()
        self.assertEquals(len(categories_in_database), 1)
        only_poll_in_database = categories_in_database[0]
        self.assertEquals(only_poll_in_database, cat)
 def test_ensure_views_are_positive(self):
     """
     确保views是正数或0
     :return:
     """
     from rango.models import Category
     cat = Category(name='test', views=-1, likes=0)
     cat.save()
     self.assertEqual((cat.views >= 0), True)
Exemple #37
0
    def test_slug_line_creation(self):
        """
        slug_line_creation checks to make sure that when we add a category, and approriate slug
        line is created
        """

        cat = Category(name='Random Category String')
        cat.save()
        self.assertEqual(cat.slug, 'random-category-string')
Exemple #38
0
 def test_slug_line_creation(self):
     """
     Checks to make sure that when a category is created, an
     appropriate slug is created.
     Example: "Random Category String" should be "random-category-string".
     """
     category = Category(name='Random Category String')
     category.save()
     self.assertEqual(category.slug, 'random-category-string')
Exemple #39
0
    def test_ensure_views_are_positive(self):
        """
        When a Category is created we ensure that its view count
        is not negative
        """

        cat = Category(name='test', views=-1, likes=0)
        cat.save()
        self.assertEqual((cat.views >= 0), True)
Exemple #40
0
 def test_slug_line_creation(self):
     """
     Checks to make sure that when category is added, appropriate
     slug line is created i.e.
     "Random Category String" -> "random-category-string"
     """
     cat = Category(name='Random Category String')
     cat.save()
     self.assertEqual(cat.slug, 'random-category-string')
Exemple #41
0
    def test_create_a_new_category(self):
        cat = Category(name="Python")
        cat.save()

        # Check category is in database
        categories_in_database = Category.objects.all()
        self.assertEquals(len(categories_in_database), 1)
        only_poll_in_database = categories_in_database[0]
        self.assertEquals(only_poll_in_database, cat)
Exemple #42
0
    def test_slug_line_creation(self):
        """
        When adding a category, a proper slug line is created.
        i.e. "Random Category String" -> "random-cateogry-string"
        """

        cat = Category(name='Random Category String')
        cat.save()
        self.assertEqual(cat.slug, 'random-category-string')
Exemple #43
0
    def test_does_slug_field_work(self):

        from rango.models import Category

        cat = Category(name='how do i create a slug in django')

        cat.save()

        self.assertEqual(cat.slug, 'how-do-i-create-a-slug-in-django')
Exemple #44
0
    def test_slug_line_creation(self):
        '''
        slug_line_creation checks to make sure that when we add a category an appropriate slug line is created
        i.e. "Random Category String" -> "random-category-string"
        '''

        cat = Category(name='Random Category String')
        cat.save()
        self.assertEqual(cat.slug, 'random-category-string')
Exemple #45
0
    def test_page_contains(self):
        """
        test_category_contains tests whether the save() function is working correctly.
        """

        category = Category()
        category.save()
        page = Page(category=category, title='test page', views=21)
        page.save()
        self.assertEqual(Page.objects.filter(pk=page.pk).exists(), True)
Exemple #46
0
    def test_slug_line_creation(self):
        """
        slug_line_creation ensure that when we create a new category
        with capitals and spaces, the slug is all lower case and with
        dashes. In other words, "Random Cat String" -> "random-cat-string"
        """

        cat = Category(name='Random Category String')
        cat.save()
        self.assertEqual(cat.slug, 'random-category-string')
Exemple #47
0
    def test_slug_line_creation(self):
        """
        Проверяет, что при создании категории
        создается соответствующий slug.
        Пример: "Random Category String" должна быть "random-category-string".
        """
        category = Category(name='Random Category String')
        category.save()

        self.assertEqual(category.slug, 'random-category-string')
Exemple #48
0
 def test_last_visit_not_in_the_future(self):
     """
     Test to ensure the last_visit is not in the future
     """
     cat = Category(name='test',views=1, likes=0)
     cat.save()
     page, created = Page.objects.get_or_create(category=cat, title='test', 
             url="www.test.test", views=1, first_visit=timezone.now(), last_visit=timezone.now() - timezone.timedelta(hours=1))       
     page.save()
     self.assertTrue(page.last_visit < timezone.now(), "Last_visit is in the future")
def create_categories():
    # List of categories
    categories = []

    # Create categories from 1 to 10
    for i in xrange(1, 11):
        cat = Category(name="Category " + str(i), likes=i)
        cat.save()
        categories.append(cat)

    return categories
Exemple #50
0
	def test_last_visit_and_first_visit_validation(self):

		"""
		last_visit_and_first_visit_validation check both last_visit and first_visit are not in the future
		"""
		now = datetime.datetime.now()
		time_in_the_future = now + datetime.timedelta(hours=1)
		cat = Category(name='test')
		cat.save()
		page = Page(category=cat, title="test", url="http://www.test.com", last_visit=time_in_the_future, first_visit=time_in_the_future+datetime.timedelta(hours=2))
		page.save()
Exemple #51
0
def create_categories():
    # List of categories
    categories = []

    # Create categories from 0 to 7
    for i in xrange(1, 11):
        cat = Category(name="Category " + str(i), likes=i)
        cat.save()
        categories.append(cat)

    return categories
Exemple #52
0
 def test_ensure_last_visit_not_before_first(self):
     category = Category(name='test')
     category.save()
     page = Page(category=category,
                 title='test',
                 url='http://www.google.com',
                 views=1,
                 last_visit=datetime.date.today() +
                 datetime.timedelta(days=1),
                 first_visit=datetime.date.today())
     page.save()
     self.assertEqual((page.last_visit <= page.first_visit), True)
def add_category(request):
    form = CategoryForm()
    if request.method == 'POST':
        form = CategoryForm(request.POST)
        if form.is_valid():
            cat = Category()
            cat.name = form.cleaned_data['name']
            cat.save()
            messages.success(request, 'Category '+cat.name+' successfully included! ')
            return redirect('index')
        else:
            messages.error(request, 'Category not included, invalid form!')
            print(form.errors)
    return render(request, 'rango/add_category.html', {'form': form})
Exemple #54
0
    def test_category_with_no_pages(self):
        """
        This test checks that rango displays the correct message
        when no pages are present in a category with no pages.
        """

        category = Category(name='test')
        category.save()

        response = self.client.get(reverse('category', args=(category.slug,)))

        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "No pages currently in category.")
        
    def test_category_contains_slug_field(self):
        #Create a new category
        new_category = Category(name="Test Category")
        new_category.save()

        #Check slug was generated
        self.assertEquals(new_category.slug, "test-category")

        #Check there is only one category
        categories = Category.objects.all()
        self.assertEquals(len(categories), 1)

        #Check attributes were saved correctly
        categories[0].slug = new_category.slug
Exemple #56
0
    def test_time_not_in_the_future(self):
        c = Category(name='demo')
        c.save()
        p = Page(title='page', url='https://www.baidu.com')
        p.category = c
        p.save()

        response = self.client.get(reverse('rango:goto')+'?page_id='+str(p.id))
        self.assertEqual(response.status_code, 302)
        page = Page.objects.get(id=p.id)
        self.assertTrue(page.last_visit <= timezone.now())
        self.assertTrue(page.first_visit <= timezone.now())
        sleep(2)
        self.client.get(reverse('rango:goto') + '?page_id=' + str(p.id))
        self.assertTrue(page.first_visit <= page.last_visit)