Full Stack Teleport Testing with Om Next & Datomic
summary
Company testing framework uses Om Next and Datomic to fork and clone whole-system state (including Datomic databases) so tests run as sequences of user teleports that execute client and server mutations in a single JVM. Teleports replay full flows in 2–5 seconds, tests run in parallel by giving each test its own DB, and memoizing cloned steps cuts full-suite time from ~10–12 minutes to about 1 minute. Snapshot rendering serves designers and works in production-like staging.
AI-written summary · about
chapters (35)
- 0:00Intro
- 0:57Motivation
- 1:28Closure
- 2:15Shipping Broken Code
- 3:03Continuous Integration
- 3:24The Problem
- 5:13Safety Privacy
- 6:18Example
- 6:46Starting Cash Universe
- 8:03Use Case
- 8:30User Action
- 9:55Parser
- 11:08Mutations
- 11:43Hook Tasks
- 11:59Test Flow
- 13:00Teleport
- 13:33Teleport Example
- 15:32Teleport on Local Server
- 16:02Load Testing
- 17:22Parallel Testing
- 17:40Local State vs Global State
- 19:20Snapshots
- 21:12Not everything was awesome
- 22:20Could we cache it
- 23:44Email Client
- 24:32Update System
- 25:06Atomic Library
- 27:11Memoization
- 28:37Full Stack Tests
- 30:47Future Improvements
- 32:55Dependency Graph
- 33:12Bigger Graph
- 33:50Takeaways
- 34:38Datomic forking
- 35:50Immutability
related talks
40mFast full stack testing in om.next
42mYet & Datomic Immutable Facts Mutated Our Stack
52mFull stack FP in Datomic, Clojure, and ClojureScript
43mDatalog all the way down
40mThe power of Datomic database
47mFunctional Programming in the Cloud: Simpler Application Development with Datomic Cloud
41mExploring four hidden superpowers of Datomic
51mDatomic
