def test_columns_csv_export_multiseries(): exporter = ExportCSV(MagicMock(), MagicMock()) headers = ['series', 'name', 'code', 'y']; out = StringIO() series = [ { 'data': [ { 'code': 'SK', 'name': 'Slovakia', 'y': 1 } ], 'name': 'series1', 'notation': None }, { 'data': [ { 'code': 'AB', 'name': 'ABCD', 'y': 2 } ], 'name': 'series2', 'notation': None } ] exporter.datapoints(out, series) out.seek(0) csv_output = out.read().split('\r\n') assert csv_output[2].split(',') == ['series1', 'Slovakia', 'SK', '1'] assert csv_output[3].split(',') == ['series2', 'ABCD', 'AB', '2']
def test_columns_csv_export(): exporter = ExportCSV(MagicMock(), MagicMock()) out = StringIO() series = [{ 'data': [ { 'code': 'SK', 'name': 'Slovakia', 'y': 1 } ], 'name': 'series1', 'notation': None }] exporter.datapoints(out, series) out.seek(0) csv_output = out.read().split('\r\n') assert csv_output[0] == 'Data extracted:'; assert csv_output[1].split(',') == ['series', 'name', 'code', 'y']; assert csv_output[2].split(',') == ['series1', 'Slovakia', 'SK', '1']
def test_lines_csv_export(): exporter = ExportCSV(MagicMock(), MagicMock()) out = StringIO() series = [ { 'data': [ { 'code': '2000', 'name': 'Year:2000', 'y': 1 } ], 'name': 'series1', 'notation': None }, ] exporter.datapoints(out, series) out.seek(0) csv_output = out.read().split('\r\n') assert csv_output[2].split(',') == ['series1', 'Year:2000', '2000', '1']
def test_formatter_decision(): exporter = ExportCSV(MagicMock(), MagicMock()) series = [ { 'data': [ { 'code': '2000', 'name': 'year:2000', 'y': 1 } ], 'name': 'series1', 'notation': None }, ] exporter.datapoints = Mock() exporter.datapoints_n = Mock() exporter.request.form = { 'metadata': json.dumps({}), 'chart_data': json.dumps(series), 'chart_type': 'columns', 'annotations': json.dumps({}) } exporter.export() assert(exporter.datapoints.call_count == 1) exporter.request.form = { 'metadata': json.dumps({}), 'chart_data': json.dumps(series), 'chart_type': 'bubbles', 'annotations': json.dumps({}) } exporter.export() assert(exporter.datapoints_n.call_count == 1) exporter.request.form = { 'metadata': json.dumps({}), 'chart_data': json.dumps(series), 'chart_type': 'scatter', 'annotations': json.dumps({}) } exporter.export() assert(exporter.datapoints_n.call_count == 2)