File: //home/arjun/projects/buyercall_forms/buyercall/buyercall/tests/blocked_numbers/test_views.py
from flask import url_for
from flask_babel import gettext as _
from buyercall.tests.lib.util import ViewTestMixin
from buyercall.tests.lib.assertions import assert_status_with_message
from buyercall.blueprints.block_numbers.models import Block
class TestBlockedNumberViews(ViewTestMixin):
def test_blocked_number_page_logged_out(self):
response = self.client.get(url_for('block_numbers.block_number_list'))
assert_status_with_message(302, response, _('block_numbers'))
def test_blocked_number_page(self):
self.login()
response = self.client.get(url_for('block_numbers.block_number_list'))
assert_status_with_message(200, response, _('Blocked Numbers List'))
def test_new_blocked_number_page(self):
self.login()
response = self.client.get(url_for('block_numbers.block_new'))
assert_status_with_message(200, response, _('Add New Blocked Number'))
def test_new_blocked_number(self, users):
self.login()
old_count = Block.query.count()
params = {
'phonenumber': '5678546456',
'status': 'blocked'
}
response = self.client.post(
url_for('block_numbers.block_new'),
data=params,
follow_redirects=True
)
new_count = Block.query.count()
assert_status_with_message(200, response, _('Blocked Numbers List'))
assert new_count == old_count + 1
def test_new_blocked_number_fail(self):
self.login()
old_count = Block.query.count()
params = {
'phonenumber': '5678546456',
}
response = self.client.post(
url_for('block_numbers.block_new'),
data=params
)
new_count = Block.query.count()
assert_status_with_message(200, response, _('Add New Blocked Number'))
assert new_count == old_count
def test_blocked_number_edit_page(self):
self.login()
block = Block.query.first()
response = self.client.get(url_for('block_numbers.block_edit', id=block.id))
assert_status_with_message(200, response, _('Update Blocked Number'))
def test_blocked_number_edit(self):
self.login()
block = Block.query.first()
params = {
'phonenumber': '7754654565'
}
response = self.client.post(
url_for('block_numbers.block_edit', id=block.id),
data=params,
follow_redirects=True
)
edited_block = Block.query.filter(Block.id == block.id).first()
assert_status_with_message(200, response, _('Blocked Numbers List'))
assert edited_block.phonenumber == '7754654565'
def test_blocked_number_delete(self):
self.login()
old_count = Block.query.count()
block = Block.query.first()
response = self.client.delete(
url_for('block_numbers.block_delete', id=block.id),
)
new_count = Block.query.count()
assert response.status_code == 200
assert old_count == new_count + 1