forked from yvv/decision
Lot T4 : les tests d'avant suivent le seed de T4 sans rien perdre de ce qu'ils prouvent
Les tests qui lisaient F, N ou O rejouent leurs transitions sur le seed de M8 (tests/fixtures/seed-m8) : seed_quorum_texts, seed_rules, seed_proposals, api, quorum ; ils disent en plus que ces amendements sont dépassés par le retrait (superseded_by). Les comptes suivent le document de T4 : 27 articles, quatre Propositions seed (I1, E1, E12, E2), 33 modules à voter (27 articles, le titre, l'ordre de 5 sections). modules.rs : l'ordre sous vote se rejoue sur « conclusion » (K1, K2) ; « un ordre d'un seul article n'a rien à décider » sur une base née du seed de M8 (O1). seed_amend : tests unitaires de Version::SeedProposal et de la ligne seed_proposal (put_forward). order.rs ne lit que les colonnes d'avant 0012 : sections_now ne sert qu'à la naissance des modules, et article_amend n'en garde que les articles vivants. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -329,6 +329,14 @@ fn production_config() -> Config {
|
||||
cfg
|
||||
}
|
||||
|
||||
/// The seed of M6 to M8 (de1b7eb), which wrote the quorums and put I1 forward: since lot T4 the
|
||||
/// seed of today gives I1 another text, and a base of 02/11 keeps it in force under it.
|
||||
fn m8_config() -> Config {
|
||||
let mut cfg = Config::for_tests();
|
||||
cfg.seed_dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/fixtures/seed-m8");
|
||||
cfg
|
||||
}
|
||||
|
||||
async fn restart(before: &AppState, cfg: Config) -> AppState {
|
||||
let state = AppState::new(cfg, before.db.clone()).await.expect("state");
|
||||
seed::ensure(&state).await.expect("seed");
|
||||
@@ -374,8 +382,8 @@ async fn the_quorum_amendment_writes_the_quorums_by_level_once() {
|
||||
assert_eq!(c.doc("monnaie-libre").await["doc"]["quorums"], json!([50, 50, 50, 50, 50]));
|
||||
assert_eq!(c.doc("essai").await["doc"]["quorums"], json!([1, 1, 1, 1, 1]));
|
||||
|
||||
// Started with today's seed: written, where none was.
|
||||
let state = restart(&born, Config::for_tests()).await;
|
||||
// Started with the seed of M6 (and of M8): written, where none was.
|
||||
let state = restart(&born, m8_config()).await;
|
||||
let first = decisions(&state).await;
|
||||
assert_eq!(
|
||||
first.iter().map(|(g, f, t, o, r)| row(g, f.as_deref(), t, o, r.as_deref())).collect::<Vec<_>>(),
|
||||
|
||||
Reference in New Issue
Block a user