def METHOD_NAME(
    tmpdir, with_coords, lengths, chunk_sizes, raises_value_error,
):
    fs = fsspec.filesystem("file")
    datasets = _get_datasets_to_append(with_coords, lengths, chunk_sizes)
    paths = [str(tmpdir.join(f"ds{i}.zarr")) for i in range(len(datasets))]
    for ds, path in zip(datasets, paths):
        ds.to_zarr(path, consolidated=True)
    # append zarrs using append_zarr_along_time
    if raises_value_error:
        with pytest.raises(ValueError):
            append.append_zarr_along_time(paths[1], paths[0], fs)
    else:
        append.append_zarr_along_time(paths[1], paths[0], fs)
        expected_ds = xr.concat(datasets, dim="time")
        manually_appended_ds = xr.open_zarr(paths[0], consolidated=True)
        xr.testing.assert_identical(manually_appended_ds, expected_ds)