Skip to content

Commit bd83159

Browse files
BSd3vKoolADE85
authored andcommitted
adding test for the max call stack
1 parent 7b440c7 commit bd83159

File tree

1 file changed

+204
-2
lines changed

1 file changed

+204
-2
lines changed

tests/test_column_state.py

Lines changed: 204 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from dash import Dash, html, Output, Input, no_update, State, ctx
1+
from dash import Dash, html, Output, Input, no_update, State, ctx, Patch
22
import dash_ag_grid as dag
33
import plotly.express as px
44
import json
@@ -315,4 +315,206 @@ def make_grid(n):
315315
for x in range(10):
316316
dash_duo.find_element("#add-grid").click()
317317
time.sleep(2) # pausing to emulate separation because user inputs
318-
assert list(filter(lambda i: i.get("level") != "WARNING", dash_duo.get_logs())) == []
318+
assert list(filter(lambda i: i.get("level") != "WARNING", dash_duo.get_logs())) == []
319+
320+
def test_cs003_column_state(dash_duo):
321+
data = [
322+
{
323+
"localTime": "5:00am",
324+
"a": 0.231,
325+
"b": 0.523,
326+
"c": 0.423,
327+
"d": 0.527,
328+
},
329+
{
330+
"localTime": "5:15am",
331+
"a": 0.423,
332+
"b": 0.452,
333+
"c": 0.523,
334+
"d": 0.543,
335+
},
336+
{
337+
"localTime": "5:30am",
338+
"a": 0.537,
339+
"b": 0.246,
340+
"c": 0.426,
341+
"d": 0.421,
342+
},
343+
{
344+
"localTime": "5:45am",
345+
"a": 0.893,
346+
"b": 0.083,
347+
"c": 0.532,
348+
"d": 0.983,
349+
},
350+
{
351+
"localTime": "6:00am",
352+
"a": 0.231,
353+
"b": 0.523,
354+
"c": 0.423,
355+
"d": 0.527,
356+
},
357+
{
358+
"localTime": "6:15am",
359+
"a": 0.423,
360+
"b": 0.452,
361+
"c": 0.523,
362+
"d": 0.543,
363+
},
364+
{
365+
"localTime": "6:30am",
366+
"a": 0.537,
367+
"b": 0.246,
368+
"c": 0.426,
369+
"d": 0.421,
370+
},
371+
{
372+
"localTime": "6:45am",
373+
"a": 0.893,
374+
"b": 0.083,
375+
"c": 0.532,
376+
"d": 0.983,
377+
},
378+
{
379+
"localTime": "7:00am",
380+
"a": 0.231,
381+
"b": 0.523,
382+
"c": 0.423,
383+
"d": 0.527,
384+
},
385+
{
386+
"localTime": "7:15am",
387+
"a": 0.423,
388+
"b": 0.452,
389+
"c": 0.523,
390+
"d": 0.543,
391+
},
392+
{
393+
"localTime": "7:30am",
394+
"a": 0.537,
395+
"b": 0.246,
396+
"c": 0.426,
397+
"d": 0.421,
398+
},
399+
{
400+
"localTime": "7:45am",
401+
"a": 0.893,
402+
"b": 0.083,
403+
"c": 0.532,
404+
"d": 0.983,
405+
},
406+
{
407+
"localTime": "8:00am",
408+
"a": 0.231,
409+
"b": 0.523,
410+
"c": 0.423,
411+
"d": 0.527,
412+
},
413+
{
414+
"localTime": "8:15am",
415+
"a": 0.423,
416+
"b": 0.452,
417+
"c": 0.523,
418+
"d": 0.543,
419+
},
420+
{
421+
"localTime": "8:30am",
422+
"a": 0.537,
423+
"b": 0.246,
424+
"c": 0.426,
425+
"d": 0.421,
426+
},
427+
{
428+
"localTime": "8:45am",
429+
"a": 0.893,
430+
"b": 0.083,
431+
"c": 0.532,
432+
"d": 0.983,
433+
},
434+
{
435+
"localTime": "8:00am",
436+
"a": 0.231,
437+
"b": 0.523,
438+
"c": 0.423,
439+
"d": 0.527,
440+
},
441+
{
442+
"localTime": "8:15am",
443+
"a": 0.423,
444+
"b": 0.452,
445+
"c": 0.523,
446+
"d": 0.543,
447+
},
448+
{
449+
"localTime": "8:30am",
450+
"a": 0.537,
451+
"b": 0.246,
452+
"c": 0.426,
453+
"d": 0.421,
454+
},
455+
{
456+
"localTime": "8:45am",
457+
"a": 0.893,
458+
"b": 0.083,
459+
"c": 0.532,
460+
"d": 0.983,
461+
},
462+
]
463+
464+
columnDefs = [
465+
{"field": "localTime"},
466+
{"field": "a"},
467+
{"field": "b"},
468+
{"field": "c"},
469+
{"field": "d"},
470+
]
471+
472+
app = Dash(__name__)
473+
474+
app.layout = html.Div(
475+
[
476+
html.Div(
477+
[
478+
html.Button(
479+
"Remove Column", id="remove-column", n_clicks=0
480+
),
481+
html.Div(
482+
id='grid-holder',
483+
children=[
484+
dag.AgGrid(
485+
id=f"grid",
486+
columnDefs=columnDefs,
487+
rowData=data,
488+
columnSize='autoSize'
489+
)
490+
]
491+
)
492+
],
493+
),
494+
]
495+
)
496+
497+
@app.callback(
498+
Output('grid', 'columnDefs'),
499+
Input('remove-column', 'n_clicks'),
500+
)
501+
def remove_column(n):
502+
if n:
503+
cols = Patch()
504+
if n < 3:
505+
del cols[0]
506+
return cols
507+
return no_update
508+
509+
dash_duo.start_server(app,
510+
debug=True,
511+
use_reloader=False,
512+
use_debugger=True,
513+
dev_tools_hot_reload=False,
514+
dev_tools_props_check=True,
515+
dev_tools_disable_version_check=True,)
516+
517+
for x in range(3):
518+
dash_duo.find_element("#remove-column").click()
519+
time.sleep(2) # pausing to emulate separation because user inputs
520+
assert list(filter(lambda i: i.get("level") != "ERROR", dash_duo.get_logs())) == []

0 commit comments

Comments
 (0)