Changeset ef964d8 in flexoentity for tests/test_id_lifecycle.py
- Timestamp:
- 11/27/25 18:12:23 (7 weeks ago)
- Branches:
- master
- Children:
- 4e11d58
- Parents:
- 9a50e0b
- File:
-
- 1 edited
-
tests/test_id_lifecycle.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/test_id_lifecycle.py
r9a50e0b ref964d8 3 3 4 4 5 # ────────────────────────────────────────────────────────────────────────────── 6 # Tests adapted to use real SingleChoiceQuestion fixture instead of DummyEntity 7 # ────────────────────────────────────────────────────────────────────────────── 5 def test_initial_state(sample_domain): 6 assert sample_domain.state == EntityState.DRAFT 7 assert sample_domain.flexo_id.version == 1 8 assert FlexoEntity.verify_integrity(sample_domain) 8 9 9 def test_initial_state(sample_question): 10 q = sample_question 11 assert q.state == EntityState.DRAFT 12 assert q.flexo_id.version == 1 13 assert FlexoEntity.verify_integrity(q) 14 15 def test_approval_does_not_bump_version(sample_question): 16 q = sample_question 10 def test_approval_does_not_bump_version(sample_domain): 11 q = sample_domain 17 12 q.approve() 18 13 assert q.state == EntityState.APPROVED 19 14 assert q.flexo_id.version == 1 20 15 21 def test_signing_does_not_bump_version(sample_ question):22 q = sample_ question16 def test_signing_does_not_bump_version(sample_domain): 17 q = sample_domain 23 18 q.approve() 24 19 before = q.flexo_id … … 38 33 39 34 40 def test_publish_does_not_bump_version(sample_ question):41 q = sample_ question35 def test_publish_does_not_bump_version(sample_domain): 36 q = sample_domain 42 37 q.approve() 43 38 q.sign() … … 48 43 49 44 50 def test_modify_content_changes_fingerprint(sample_question): 51 q = sample_question 52 q.text += "Rephrased content" # simulate text change 53 changed = q._update_fingerprint() 45 def test_modify_content_changes_fingerprint(sample_signature): 46 sample_signature.comment += "Rephrased content" # simulate text change 47 changed = sample_signature._update_fingerprint() 54 48 assert changed 55 49 56 50 57 def test_no_version_bump_on_draft_edits(sample_question): 58 q = sample_question 59 q.text = "Minor draft edit" 60 q._update_fingerprint() 61 assert q.flexo_id.version == 1 51 def test_no_version_bump_on_draft_edits(sample_signature): 52 sample_signature.comment = "Minor draft edit" 53 sample_signature._update_fingerprint() 54 assert sample_signature.flexo_id.version == 1 62 55 63 56 64 def test_version_bump_after_edit_and_sign(sample_question): 65 q = sample_question 66 q.approve() 67 v1 = str(q.flexo_id) 68 q.text = "Changed content" 69 q.sign() 70 assert str(q.flexo_id) != v1 57 def test_version_bump_after_edit_and_sign(sample_signature): 58 sample_signature.approve() 59 v1 = str(sample_signature.flexo_id) 60 sample_signature.comment = "Changed comment" 61 sample_signature.sign() 62 assert str(sample_signature.flexo_id) != v1 71 63 72 64 73 def test_integrity_check_passes_and_fails(sample_question): 74 q = sample_question 75 q.approve() 76 assert FlexoEntity.verify_integrity(q) 65 def test_integrity_check_passes_and_fails(sample_signature): 66 sample_signature.approve() 67 assert FlexoEntity.verify_integrity(sample_signature) 77 68 78 69 # simulate tampering 79 q.text = "Tampered text"80 assert not FlexoEntity.verify_integrity( q)70 sample_signature.comment = "Tampered text" 71 assert not FlexoEntity.verify_integrity(sample_signature) 81 72 82 73 83 def test_obsolete_state(sample_ question):84 q = sample_ question74 def test_obsolete_state(sample_domain): 75 q = sample_domain 85 76 q.approve() 86 77 q.sign() … … 90 81 91 82 92 def test_clone_new_base_resets_lineage(sample_ question):93 q = sample_ question83 def test_clone_new_base_resets_lineage(sample_domain): 84 q = sample_domain 94 85 q.approve() 95 86 q.sign() … … 102 93 assert q.flexo_id.version == 1 103 94 104 def test_clone_new_base_sets_origin(sample_ question):105 q = sample_ question95 def test_clone_new_base_sets_origin(sample_domain): 96 q = sample_domain 106 97 q.approve() 107 98 q.sign() … … 115 106 assert q.flexo_id != old_id 116 107 117 def test_mass_version_increments_until_obsolete(sample_ question):118 q = sample_ question108 def test_mass_version_increments_until_obsolete(sample_domain): 109 q = sample_domain 119 110 q.approve() 120 111 for _ in range(FlexOID.MAX_VERSION - 1):
Note:
See TracChangeset
for help on using the changeset viewer.
