summaryrefslogtreecommitdiff
path: root/fable-arch.md
diff options
context:
space:
mode:
Diffstat (limited to 'fable-arch.md')
-rw-r--r--fable-arch.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/fable-arch.md b/fable-arch.md
index 89ee96b..50a91a0 100644
--- a/fable-arch.md
+++ b/fable-arch.md
@@ -321,3 +321,36 @@ other resource constraints.
# Acceptance tests for Fable
FIXME: This needs to be written eventually, when Fable is implemented.
+
+## Simple scenario
+
+We test that Fable can execute a very simple scenario. The test is
+based on generating the test program from an input file, running the
+test program, and examining the log file. This will require that the
+generated test program logs the things it does in a known format.
+Effectively, the log messages become a part of the contract.
+
+````fable
+given file "simple.md" containing
+ # Simple
+ ```fable
+ given precondition foo
+ when I do bar
+ then bar was done
+ ```
+and file "simple.yaml" containing
+ - given: precondition foo
+ function: nop
+ - when: I do bar
+ function: nop
+ - then: bar was done
+ function: nop
+and file "simple.py" containing
+ def foo(ctx): pass
+when I run ftt-codegen --run simple.md
+then log file says scenario "Simple" was run
+and log file says step "given precondition foo" was run
+and log file says step "when I do bar" was run
+and log file says step "then bar was don" was run
+and program finished successfully
+````