Ejemplo n.º 1
0
    def test_get_new_post_delay__more_then_one_post(self):
        PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')
        delay_1 = PostPrototype.get_new_post_delay(self.account)

        PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')

        delay_2 = PostPrototype.get_new_post_delay(self.account)

        self.assertTrue(delay_1 - delay_2 > 1)
Ejemplo n.º 2
0
    def test_get_new_post_delay__more_then_one_post(self):
        PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')
        delay_1 = PostPrototype.get_new_post_delay(self.account)

        PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')

        delay_2 = PostPrototype.get_new_post_delay(self.account)

        self.assertTrue(delay_1 - delay_2 > 1)
Ejemplo n.º 3
0
 def test_get_new_post_delay__has_old_post(self):
     PostPrototype.create(thread=self.thread,
                          author=self.account,
                          text='post-1-text')
     PostPrototype._db_all().update(created_at=datetime.datetime.now() -
                                    datetime.timedelta(days=30))
     self.assertEqual(PostPrototype.get_new_post_delay(self.account), 0)
Ejemplo n.º 4
0
    def create_post(self):

        new_post_delay = PostPrototype.get_new_post_delay(self.account)

        if new_post_delay > 0:
            error_message = (
                u'Создавать новые сообщения можно не чаще раза в %d секунд. <br/>Задержка увеличивается для игроков, только начинающих общаться на форуме.<br/> Вы сможете создать новое сообщение через %d сек.'
                % (forum_settings.POST_DELAY, int(new_post_delay)))
            return self.json_error('forum.create_post.delay', error_message)

        new_post_form = forms.NewPostForm(self.request.POST)

        if not new_post_form.is_valid():
            return self.json_error('forum.create_post.form_errors',
                                   new_post_form.errors)

        post = PostPrototype.create(self.thread, self.account,
                                    new_post_form.c.text)

        if self.account.is_authenticated():
            ThreadReadInfoPrototype.read_thread(self.thread, self.account)

        return self.json_ok(
            data={
                'next_url':
                url('forum:threads:show',
                    self.thread.id,
                    page=self.thread.paginator.pages_count) +
                ('#m%d' % post.id)
            })
Ejemplo n.º 5
0
    def test_get_new_post_delay__a_lot_of_posts(self):
        for i in xrange(100):
            PostPrototype.create(thread=self.thread,
                                 author=self.account,
                                 text='post-1-text')

        self.assertTrue(
            PostPrototype.get_new_post_delay(self.account) <
            forum_settings.POST_DELAY)
Ejemplo n.º 6
0
    def create_post(self):

        new_post_delay = PostPrototype.get_new_post_delay(self.account)

        if new_post_delay > 0:
            error_message = ('Создавать новые сообщения можно не чаще раза в %d секунд. <br/>Задержка увеличивается для игроков, только начинающих общаться на форуме.<br/> Вы сможете создать новое сообщение через %d сек.' %
                             ( forum_settings.POST_DELAY,
                               int(new_post_delay)))
            return self.json_error('forum.create_post.delay', error_message)


        new_post_form = forms.NewPostForm(self.request.POST)

        if not new_post_form.is_valid():
            return self.json_error('forum.create_post.form_errors', new_post_form.errors)

        post = PostPrototype.create(self.thread, self.account, new_post_form.c.text)

        if self.account.is_authenticated:
            ThreadReadInfoPrototype.read_thread(self.thread, self.account)

        return self.json_ok(data={'next_url': url('forum:threads:show', self.thread.id, page=self.thread.paginator.pages_count) + ('#m%d' % post.id)})
Ejemplo n.º 7
0
 def test_get_new_post_delay__has_new_post(self):
     PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')
     self.assertTrue(PostPrototype.get_new_post_delay(self.account) > 0)
Ejemplo n.º 8
0
 def test_get_new_post_delay__has_old_post(self):
     PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')
     PostPrototype._db_all().update(created_at=datetime.datetime.now() - datetime.timedelta(days=30))
     self.assertEqual(PostPrototype.get_new_post_delay(self.account), 0)
Ejemplo n.º 9
0
 def test_get_new_post_delay__no_posts__old_account(self):
     new_account = self.accounts_factory.create_account()
     new_account._model.created_at = datetime.datetime.now() - datetime.timedelta(days=30)
     self.assertFalse(PostPrototype.get_new_post_delay(new_account), 0)
Ejemplo n.º 10
0
 def test_get_new_post_delay__no_posts__new_account(self):
     new_account = self.accounts_factory.create_account()
     self.assertTrue(PostPrototype.get_new_post_delay(new_account) > 0)
Ejemplo n.º 11
0
 def test_get_new_post_delay__no_posts__old_account(self):
     register_user('new_test_user', '*****@*****.**', '111111')
     new_account = AccountPrototype.get_by_nick('new_test_user')
     new_account._model.created_at = datetime.datetime.now() - datetime.timedelta(days=30)
     self.assertFalse(PostPrototype.get_new_post_delay(new_account), 0)
Ejemplo n.º 12
0
 def test_get_new_post_delay__no_posts__new_account(self):
     register_user('new_test_user', '*****@*****.**', '111111')
     new_account = AccountPrototype.get_by_nick('new_test_user')
     self.assertTrue(PostPrototype.get_new_post_delay(new_account) > 0)
Ejemplo n.º 13
0
 def test_get_new_post_delay__no_posts__old_account(self):
     register_user('new_test_user', '*****@*****.**', '111111')
     new_account = AccountPrototype.get_by_nick('new_test_user')
     new_account._model.created_at = datetime.datetime.now(
     ) - datetime.timedelta(days=30)
     self.assertFalse(PostPrototype.get_new_post_delay(new_account), 0)
Ejemplo n.º 14
0
 def test_get_new_post_delay__has_new_post(self):
     PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')
     self.assertTrue(PostPrototype.get_new_post_delay(self.account) > 0)
Ejemplo n.º 15
0
 def test_get_new_post_delay__no_posts__old_account(self):
     new_account = self.accounts_factory.create_account()
     new_account._model.created_at = datetime.datetime.now() - datetime.timedelta(days=30)
     self.assertFalse(PostPrototype.get_new_post_delay(new_account), 0)
Ejemplo n.º 16
0
 def test_get_new_post_delay__no_posts__new_account(self):
     new_account = self.accounts_factory.create_account()
     self.assertTrue(PostPrototype.get_new_post_delay(new_account) > 0)
Ejemplo n.º 17
0
    def test_get_new_post_delay__a_lot_of_posts(self):
        for i in range(100):
            PostPrototype.create(thread=self.thread, author=self.account, text='post-1-text')

        self.assertTrue(PostPrototype.get_new_post_delay(self.account) < forum_settings.POST_DELAY)
Ejemplo n.º 18
0
 def test_get_new_post_delay__no_posts__new_account(self):
     register_user('new_test_user', '*****@*****.**', '111111')
     new_account = AccountPrototype.get_by_nick('new_test_user')
     self.assertTrue(PostPrototype.get_new_post_delay(new_account) > 0)