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)) }])
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())
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)) }])