9bd1a5356bcf1a68ea715e5b0d9c3731203f6d88
braney
  Sat Sep 26 12:12:14 2026 -0700
docent: hubUpload: verb, which drops files into the Hub Upload dashboard, and a value: check in expect: for what a form field holds, refs #37892, #38398

Nothing is uploaded by hubUpload:, so a run leaves nothing on the server.  value: exists
because a selector cannot read a field that a framework draws: it sets the value property,
and [value=...] reads only the attribute.

diff --git src/hg/utils/docent/tests/README.txt src/hg/utils/docent/tests/README.txt
index a3f003f3ea4..e2baee6864e 100644
--- src/hg/utils/docent/tests/README.txt
+++ src/hg/utils/docent/tests/README.txt
@@ -179,30 +179,33 @@
 
 Still to write
 --------------
 
   mouseover:      by item: on stacked items, and the timing case where a neighbour's
                   tooltip is still up on arrival
   pinShot:        several tooltips in one figure, cursors drawn
   convert:        quickLift onto a GenArk haplotype, hideDefaults re-checked -- note a
                   session taken after it cannot be checked in, see #38046
   drag:           each of then: zoom / highlight / cancel
   addHub:,
   addPublicHub:   the two hub attach paths (a stable hub URL is the hard part)
   montage:        panel order, lettering, a named shot that was never taken
   goShow:         the suggestion menu, including a `pick:` that matches nothing
   loadSession:    the three remote forms -- only the local-file form is covered
+  hubUpload:,
+  expect value:   covered only by regress/rm38398 (one hub.txt, then the file card), not
+                  by a case here. Several files in one step, as a batch, is untested.
   the YAML lint   `{item:name}` with no space warns and drops the argument. This needs a
                   test that reads stderr, which the harness does not do yet.
 
 A test that needs a stable server-side fixture (a hub, a custom track) should carry it
 in the script rather than assume something on disk.
 
 The one fixture that cannot be carried anywhere is a login. hgCollection refuses a
 visitor who is not signed in, and the login cookie is checked against a salted hash, so
 a script that needs that page uses the `login:` step, and the step reads an account from
 ~/.docentLogin. That file is one [section] per HGCENTRAL DATABASE, because an account is
 a row in gbMembers in one of them: genome-test, hgwdev, every sandbox and every ticket
 park read hgcentraltest and share one account, while hgwbeta and the RR are separate sets
 of accounts. Which central a server reads is read from its hg.conf rather than guessed
 from the host -- a sandbox can point itself somewhere else, and two on hgwdev do today.
 `make preflight` says which account and which central it resolved for the server being