HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/buyercall/tests/widgets/test_models.py
from buyercall.blueprints.agents.models import Agent
from buyercall.blueprints.phonenumbers.models import Phone
from buyercall.blueprints.user.models import User
from buyercall.blueprints.widgets.models import Widget


class TestWidget(object):

    def test_api_create(self, widgets):
        user = User.find_by_identity('admin@localhost.com')
        phone = Phone.query.first()
        params = {
            'guid': 'this is a test widget',
            'name': 'widget name',
            'enabled': True,
            'partnership_account_id': user.partnership_account_id,
            'email': 'testingwidget@localhost.com',
            'type': 'widget'
        }
        if user and phone:
            result = Widget.api_create(params, phone.id)
            assert result
            assert Widget.query.count() > 0
        else:
            assert False

    def test_api_update(self):
        widget = Widget.query.first()
        agent = Agent.query.first()
        phone = Phone.query.first()
        if widget and agent and phone:
            result = Widget.api_update(
                widget.partnership_account_id, widget.guid, 'edited widget name', 'widget',
                phone.id, True, False, 'EN', '', False, '', '', agent.id, agent.phonenumber,
                agent.full_name, True, False, False, False
            )
            assert result
            edited_widget = Widget.query.filter(Widget.guid == widget.guid).first()
            if edited_widget.name == 'edited widget name' and edited_widget.options['language'] == 'EN' \
                    and edited_widget.type == 'widget':
                assert True
            else:
                assert False
        else:
            assert False

    def test_widget_disable(self):
        widget = Widget.query.first()
        if widget:
            result = Widget.disable(widget.id, widget.guid, widget.partnership_account_id)
            assert result
            disabled_widget = Widget.query.filter(Widget.id == widget.id).first()
            assert disabled_widget.enabled == False
        else:
            assert False

    def test_widget_enable(self):
        widget = Widget.query.first()
        if widget:
            result = Widget.enable(widget.id, widget.guid, widget.partnership_account_id)
            assert result
            enabled_widget = Widget.query.filter(Widget.id == widget.id).first()
            assert enabled_widget.enabled == True
        else:
            assert False

    def test_widget_delete(self):
        widget = Widget.query.first()
        if widget:
            result = Widget.delete(widget.id, widget.guid, widget.partnership_account_id)
            assert result
        else:
            assert False