X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=tests%2Futils.py;fp=tests%2Futils.py;h=13e4f949d177a7d73456d2546db9f49de3e33fb1;hb=84ff28d055b785e5f205f942c68ece72136e5af1;hp=15a53ae0ddc0b78835b5baacea15f43d3a81cba0;hpb=9409a41ae6d5ed77706bd5a610177ad7e63a2335;p=plomtask diff --git a/tests/utils.py b/tests/utils.py index 15a53ae..13e4f94 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -268,3 +268,21 @@ class TestCaseWithServer(TestCaseWithDB): self.check_post(form_data, f'/process?id={id_}', 302, f'/process?id={id_}') return form_data + + @staticmethod + def blank_history_keys_in(d: dict[str, object]) -> None: + """Re-write "history" object keys to bracketed integer strings.""" + def walk_tree(d: Any) -> Any: + if isinstance(d, dict): + if 'history' in d.keys(): + vals = d['history'].values() + history = {} + for i, val in enumerate(vals): + history[f'[{i}]'] = val + d['history'] = history + for k in list(d.keys()): + walk_tree(d[k]) + elif isinstance(d, list): + d[:] = [walk_tree(i) for i in d] + return d + walk_tree(d)