StreetComplete 0.6 Betatest

StreetComplete 0.6 is almost ready. It contains a feature that touches a critical section of the app, uploading changes.
I need to test the feature thoroughly before I release it to the normal “beta crowd” on Google Play and F-Droid.

You can give me a hand if you like, I’d be grateful.
Below is the stuff that needs to be tested/verified and here is the release APK:

http://www.openclonk.org/misc/StreetComplete-0.5++.apk

Current Behavior To Be Verified

  • SC uploads the changes made for each quest type into an own changeset. This changeset has a meaningful comment which describes what kind of data was added. I.e. “added street surfaces”.

  • If Auto-Sync is on, SC immediately creates changesets (if none is open yet/anymore) for newly solved quests and uploads the answer into that changeset

  • If Auto-Sync is off, SC does the same as described above when clicking on “Upload Answers” but for all quests solved so far. If this is done at least 20 minutes after the user solved a quest, all the changesets are closed immediately.

  • Any open changesets the app has created is closed after a certain time. This works even if the app is currently closed.[list=*]

  • which is 20 minutes after the time the user solved a quest (triggered only with Auto-Sync on)

  • or 1 hour after the last time the user solved a quest of that quest type (enforces by OSM server)

  • or 24 hours after the changeset has been created (enforced by OSM server. No need to test this!)

(whichever comes first) [/*] [/list]

Conflict Test

  1. Turn off Auto-Sync

  2. Solve a quest

  3. Press “Upload Changes”

  4. Solve another quest of the same type as the first one

  5. In JOSM (or any other editor), make a trivial change to the element that the second quest was about that doesn’t conflict with the one made for the quest (i.e. add “sidewalk=” or “lit=” tag) and upload it

  6. Look at the open changeset that StreetComplete created for the first quest you solved. It should only include that one so far.
    Two code paths from here.

    • Either: Wait until the changeset is automatically closed by the OSM server (about one hour)

    • Or: Reauthenticate via OAuth using a different OSM user

[/*] [*]Press again "Upload Changes"[/*]

StreetComplete will now encounter both a changeset conflict (has been closed/is owned by a different user) AND an element conflict. It should solve the changeset conflict by creating a new changeset and after that solve the element conflict by downloading the new version of the element from the OSM server and apply the changes for the quest to that new element.

If this “super test” works, conflict resolution works fine.
The test is already done in automated unit tests, however, only with mocks, so there might be an erronous assumption there.

Statistics Test

  1. Solve some quests, preferably some of the same quest type, upload

  2. Memorize the number next to the star

  3. Go into Android Settings, clear data for StreetComplete

  4. Restart StreetComplete

  5. Reauthenticate OAuth

  6. Wait for the number next to the star to be recalculated.

It should show the same number as you memorized.
This test is already done in automated unit tests, however, also only with mocks, so, again, there might be an erronous assumption in the tests.

If you tested something successfully, please write here what you tested so I can cross it out.

Statistics test done and works.

Current behavior w.o. autosync but with manual upload works well @ the different CS are created. Am testing autosync overnight.

Conflict I can’t since I don’t have access to an editor for the next couple of days.

Natenom did the conflict test now. The statistics test actually fails if one did more than 100 changesets with SC. Will try to come up with a solution today.

(It’s released now)