def test_middleware_given_set_name_emits_set_numbers(): store = redux.Store(colors.reducer) action = colors.set_palette_name("Blues") result = list(colors.palettes(store, action)) assert result == [ colors.set_palette_numbers(colors.palette_numbers("Blues")), colors.set_palette_name("Blues"), ]
def test_middleware_given_incomplete_state_emits_set_colorbar(): store = redux.Store( colors.reducer, initial_state={"colorbar": {"low": -1}} ) action = {"kind": "ANY"} result = list(colors.palettes(store, action)) settings = {**colors.defaults(), **{"low": -1}} expect = [action, colors.set_colorbar(settings)] assert expect == result
def test_middleware_given_inconsistent_number(): store = redux.Store(colors.reducer) store.dispatch(colors.set_palette_number(1000)) action = colors.set_palette_name("Viridis") result = list(colors.palettes(store, action)) assert result == [ colors.set_palette_numbers(colors.palette_numbers("Viridis")), colors.set_palette_number(256), colors.set_palette_name("Viridis"), ]
def test_middleware_given_empty_state_emits_set_colorbar(): store = redux.Store(colors.reducer) action = {"kind": "ANY"} result = list(colors.palettes(store, action)) expect = [action, colors.set_colorbar(colors.defaults())] assert expect == result
def test_middleware_given_fixed_allows_source_limit_actions(): store = redux.Store(colors.reducer) action = colors.set_source_limits(0, 100) assert list(colors.palettes(store, action)) == [action]
def test_middleware_given_fixed_swallows_source_limit_actions(): store = redux.Store(colors.reducer, middlewares=[colors.palettes]) store.dispatch(colors.set_fixed(True)) action = colors.set_source_limits(0, 100) assert list(colors.palettes(store, action)) == [] assert store.state == {"colorbar": {"fixed": True}}