Test: Synchronisation - msupply-foundation/open-msupply GitHub Wiki

Synchronisation Tests

Test environment

Device: [Android Lenovo-X505X>]. OMS server mode: [server exe? standalone?] OMS client mode: [browser? desktop-client?] mSupply Cloud: mSupply 7.14?

Installations

Installation Android

  • Install app. Starts.
  • Welcome screen with buttons to choose either "Client" or "Server"
  • Choose "Server"

Installation Other

  • Just install! ;-)

Initialisation

  • Enter "asdf" as url, site name and password and press enter. Get "Invalid url" error
  • Enter valid url and press enter. Site name note found
  • Enter a valid site name. Incorrect password
  • Enter valid password. Starts initialising!
  • Pulls central... pulls remote... integration... Done. Note: The integration count would ideally be the sum of the first 2, but many records sent to OMS are not supported in OMS.
  • Login screen. Login!

Synchronisation UI

  • After login there are usually 1 or 2 pending logs to sync. These should show on the sync icon badge at the bottom left of navigation drawer.
  • Badge shows correctly whether or not the drawer is expanded to full width.
  • Pressing the "Sync" button in navigation takes you the Sync page
  • If OMS hasn't already synced your logs, it should say however many to push. Otherwise the progress will likely show about "2/2" under "Push" if already synced.
  • Create an outbound shipment with 1 line. The badge on "Sync" should update promptly.
  • On Primary Server make a new master list and add 3 items. On omSupply sync. Should get "Pull Central" 4/4. (Should be at least 4, don't fret if something extra snuck, but not 50 extra.).
  • "Integrate" should also say 4/4.
  • On Primary make a CI with 3 lines to the OMS store. Should get "Pull remote" 4/4, and "Number of records to push" up to 4-5. This for the transfer/inbound shipment made on OMS needing to be sent back to the central server on the next sync cycle.
  • "Integrate" should also say 4/4.

Sync Integration: Open mSupply <-> Legacy mSupply Desktop

Ordering and Inbound Shipment

  • OMS Internal order -> Desktop requisition generated and all lines show correctly
  • Desktop enter some values into requisition and create customer invoice. Allocate lines, confirm invoice
  • OMS generates inbound shipment with all lines and shows status is "Picked"
  • Desktop finalise shipment
  • OMS shows status "Shipped"

Requisitions and Outbound Shipments

  • Desktop Internal Order -> OMS requisition generated with correct lines
  • OMS requisition enter in values and create shipment
  • OMS shipment "Confirm Allocated"
  • OMS shipment "Confirm Picked"
  • OMS shipment "Confirm Shipped"
  • Desktop supplier invoice confirm
  • OMS shipment "Delivered"
  • Desktop supplier invoice finalise
  • OMS shipment "Verified"
  • OMS requisition finalise

Sync Integration: Open mSupply <-> Open mSupply

  • OMS_B Internal Order -> OMS_A requisition generated with correct lines
  • OMS_A requisition enter in values and create outbound shipment
  • OMS_B nothing (outbound shipment "New")
  • OMS_A outbound shipment press "Confirm Allocated"
  • OMS_B nothing
  • OMS_A outbound shipment press "Confirm Picked"
  • OMS_B inbound shipment "Picked"
  • OMS_A outbound shipment press "Confirm Shipped"
  • OMS_B inbound shipment "Shipped"
  • OMS_B inbound shipment press "Confirm Delivered"
  • OMS_B inbound shipment editable now!
  • OMS_A outbound shipment "Delivered"
  • OMS_B inbound shipment press "Confirm Verified"
  • OMS_A outbound shipment "Verified"
  • OMS_A requisition press "Confirm Finalise"
  • OMS_B internal order "Finalised

Sync Integration: Open mSupply <-> Legacy mSupply Mobile

  • OMS Internal order -> Desktop requisition generated and all lines show correctly
  • Desktop enter some values into requisition and create customer invoice. Allocate lines, confirm invoice
  • OMS generates inbound shipment with all lines and shows status is "Picked"
  • Desktop finalise shipment
  • OMS shows status "Shipped"

Requisitions and Outbound Shipments

  • Desktop Internal Order -> OMS requisition generated with correct lines
  • OMS requisition enter in values and create shipment
  • OMS shipment "Confirm Allocated"
  • OMS shipment "Confirm Picked"
  • OMS shipment "Confirm Shipped"
  • Desktop supplier invoice confirm
  • OMS shipment "Delivered"
  • Desktop supplier invoice finalise
  • OMS shipment "Verified"
  • OMS requisition finalise

Reinitialise

  • Get an idea in your head of what data you had, perhaps from all your testing above
  • Clear app data and restart app
  • Reinitialise the app
  • Is all the data from before reinitialising the app appear to still be there?

Version-updates

  • Set up a remote site in previous oms version
  • Sync
  • Now get the latest release-version for oms
  • Upgrade it
  • Login
  • Logins should be smooth. No errors after version-upgrade
  • All the previous data is all maintained well