def test_multi_index(): view = QgridWidget(df=create_multi_index_df()) observer_count = 0 def on_value_change(change): nonlocal observer_count observer_count += 1 view.observe(on_value_change, names=['_df']) view._handle_qgrid_msg_helper({ 'type': 'get_column_min_max', 'field': 'level_0', 'search_val': None }) view._handle_qgrid_msg_helper({ 'type': 'filter_changed', 'field': 3, 'filter_info': { 'field': 3, 'type': 'slider', 'min': -0.111, 'max': None } }) view._handle_qgrid_msg_helper({ 'type': 'filter_changed', 'field': 3, 'filter_info': { 'field': 3, 'type': 'slider', 'min': None, 'max': None } }) view._handle_qgrid_msg_helper({ 'type': 'sort_changed', 'sort_field': 3, 'sort_ascending': True }) view._handle_qgrid_msg_helper({ 'type': 'sort_changed', 'sort_field': 'level_0', 'sort_ascending': True }) assert observer_count == 4
def test_add_row(): view = QgridWidget(df=create_df()) observer_called = {} def on_value_change(change): observer_called['called'] = True assert len(change['new']) == 5 view.observe(on_value_change, names=['_df']) view._handle_qgrid_msg_helper({'type': 'add_row'}) assert observer_called['called']
def test_edit_date(): view = QgridWidget(df=create_df()) observer_called = False def on_value_change(change): nonlocal observer_called observer_called = True assert change['new']['Date'][3] == pd.Timestamp('2013-01-16 00:00:00') view.observe(on_value_change, names=['_df']) view._handle_qgrid_msg_helper({ 'column': "Date", 'row_index': 3, 'type': "cell_change", 'unfiltered_index': 0, 'value': "2013-01-16T00:00:00.000+00:00" }) assert observer_called