mirror of https://github.com/apache/superset.git
Adding tests for the time table viz (#4659)
This commit is contained in:
parent
e96590744f
commit
725b8f94c9
|
@ -636,3 +636,83 @@ class RoseVisTestCase(unittest.TestCase):
|
|||
],
|
||||
}
|
||||
self.assertEqual(expected, res)
|
||||
|
||||
|
||||
class TimeSeriesTableVizTestCase(unittest.TestCase):
|
||||
|
||||
def test_get_data_metrics(self):
|
||||
form_data = {
|
||||
'metrics': ['sum__A', 'count'],
|
||||
'groupby': [],
|
||||
}
|
||||
datasource = Mock()
|
||||
raw = {}
|
||||
t1 = pd.Timestamp('2000')
|
||||
t2 = pd.Timestamp('2002')
|
||||
raw[DTTM_ALIAS] = [t1, t2]
|
||||
raw['sum__A'] = [15, 20]
|
||||
raw['count'] = [6, 7]
|
||||
df = pd.DataFrame(raw)
|
||||
test_viz = viz.TimeTableViz(datasource, form_data)
|
||||
data = test_viz.get_data(df)
|
||||
# Check method correctly transforms data
|
||||
self.assertEqual(set(['count', 'sum__A']), set(data['columns']))
|
||||
time_format = '%Y-%m-%d %H:%M:%S'
|
||||
expected = {
|
||||
t1.strftime(time_format): {
|
||||
'sum__A': 15,
|
||||
'count': 6,
|
||||
},
|
||||
t2.strftime(time_format): {
|
||||
'sum__A': 20,
|
||||
'count': 7,
|
||||
},
|
||||
}
|
||||
self.assertEqual(expected, data['records'])
|
||||
|
||||
def test_get_data_group_by(self):
|
||||
form_data = {
|
||||
'metrics': ['sum__A'],
|
||||
'groupby': ['groupby1'],
|
||||
}
|
||||
datasource = Mock()
|
||||
raw = {}
|
||||
t1 = pd.Timestamp('2000')
|
||||
t2 = pd.Timestamp('2002')
|
||||
raw[DTTM_ALIAS] = [t1, t1, t1, t2, t2, t2]
|
||||
raw['sum__A'] = [15, 20, 25, 30, 35, 40]
|
||||
raw['groupby1'] = ['a1', 'a2', 'a3', 'a1', 'a2', 'a3']
|
||||
df = pd.DataFrame(raw)
|
||||
test_viz = viz.TimeTableViz(datasource, form_data)
|
||||
data = test_viz.get_data(df)
|
||||
# Check method correctly transforms data
|
||||
self.assertEqual(set(['a1', 'a2', 'a3']), set(data['columns']))
|
||||
time_format = '%Y-%m-%d %H:%M:%S'
|
||||
expected = {
|
||||
t1.strftime(time_format): {
|
||||
'a1': 15,
|
||||
'a2': 20,
|
||||
'a3': 25,
|
||||
},
|
||||
t2.strftime(time_format): {
|
||||
'a1': 30,
|
||||
'a2': 35,
|
||||
'a3': 40,
|
||||
},
|
||||
}
|
||||
self.assertEqual(expected, data['records'])
|
||||
|
||||
@patch('superset.viz.BaseViz.query_obj')
|
||||
def test_query_obj_throws_metrics_and_groupby(self, super_query_obj):
|
||||
datasource = Mock()
|
||||
form_data = {
|
||||
'groupby': ['a'],
|
||||
}
|
||||
super_query_obj.return_value = {}
|
||||
test_viz = viz.TimeTableViz(datasource, form_data)
|
||||
with self.assertRaises(Exception):
|
||||
test_viz.query_obj()
|
||||
form_data['metrics'] = ['x', 'y']
|
||||
test_viz = viz.TimeTableViz(datasource, form_data)
|
||||
with self.assertRaises(Exception):
|
||||
test_viz.query_obj()
|
||||
|
|
Loading…
Reference in New Issue