示例#1
0
    def test_jsbox_report_layout_building(self):
        conv_helper = self.setup_conversation()
        conversation = conv_helper.get_conversation()
        conversation.config['jsbox_app_config'] = {
            'reports': {
                'key': 'reports',
                'value': json.dumps({
                    'layout': [{
                        'type': 'diamondash.widgets.lvalue.LValueWidget',
                        'time_range': '1d',
                        'name': 'Messages Received (24h)',
                        'target': {
                            'metric_type': 'conversation',
                            'name': 'messages_received',
                        }
                    }]
                })
            }
        }

        view = JSBoxReportsView()
        layout = view.build_layout(conversation)

        self.assertEqual(layout.get_config(), [{
            'type': 'diamondash.widgets.lvalue.LValueWidget',
            'name': 'Messages Received (24h)',
            'time_range': '1d',
            'target': (
                "go.campaigns.%s.conversations.%s.messages_received.avg" %
                (conversation.user_account.key, conversation.key))
        }])
示例#2
0
    def test_jsbox_report_layout_building_for_no_report_config(self):
        conv_helper = self.setup_conversation()
        conversation = conv_helper.get_conversation()

        view_def = get_conversation_view_definition(
            conversation.conversation_type)
        default_reports_view = ConversationReportsView(view_def=view_def)
        default_layout = default_reports_view.build_layout(conversation)

        view = JSBoxReportsView(view_def=view_def)
        layout = view.build_layout(conversation)

        self.assertEqual(layout.get_config(), default_layout.get_config())
示例#3
0
    def test_jsbox_report_layout_building_for_no_report_config(self):
        conv_helper = self.setup_conversation()
        conversation = conv_helper.get_conversation()

        view_def = get_conversation_view_definition(
            conversation.conversation_type)
        default_reports_view = ConversationReportsView(view_def=view_def)
        default_layout = default_reports_view.build_layout(conversation)

        view = JSBoxReportsView(view_def=view_def)
        layout = view.build_layout(conversation)

        self.assertEqual(layout.get_config(), default_layout.get_config())
示例#4
0
    def test_jsbox_report_layout_building(self):
        conv_helper = self.setup_conversation()
        conversation = conv_helper.get_conversation()
        conversation.config['jsbox_app_config'] = {
            'reports': {
                'key':
                'reports',
                'value':
                json.dumps({
                    'layout': [{
                        'type': 'diamondash.widgets.lvalue.LValueWidget',
                        'time_range': '1d',
                        'name': 'Messages Received (24h)',
                        'target': {
                            'metric_type': 'conversation',
                            'name': 'messages_received',
                        }
                    }]
                })
            }
        }

        view = JSBoxReportsView()
        layout = view.build_layout(conversation)

        self.assertEqual(layout.get_config(), [{
            'type':
            'diamondash.widgets.lvalue.LValueWidget',
            'name':
            'Messages Received (24h)',
            'time_range':
            '1d',
            'target':
            ("go.campaigns.%s.conversations.%s.messages_received.avg" %
             (conversation.user_account.key, conversation.key))
        }])