Season of KDE Blog #2
2023-04-09
Testing various functionalities of Tokodon’s Main Timeline.
This is a continuation of my previous blog post where I shared my mid-journey experience while being a Season of KDE mentee.
Week 7-8:
These weeks were spent testing interaction buttons and different types of statuses.
My first task was to write a test for boost
, favourite
, and bookmark
interaction buttons in Tokodon to see if they worked as intended. For this, I identified the behaviour of different buttons using accerciser
and then added the missing accessibility description for the respective buttons. I then wrote an appium test as part of TimelineTest
to assert if the buttons worked as intended.
Next was testing the different types of statuses, Tokodon has support for two types of statuses normal
and spoiler
status, spoiler status
is just a normal status
with a spoiler text and an option to hide or unhide the spoiler text. To check whether the status had a spoiler, I checked if the length of the spoiler text is equal to zero (root.spoilerText.length == 0
) if the conditional gave a True value, I assigned the accessibility description(Accessible.description
) as Normal Status
else a Spoiler Status
. The final code for setting the accessibility description was Accessible.description: root.spoilerText.length == 0 ? i18n("Normal Status") : i18n("Spoiler Status");
, which I then verified using accerciser
if it pointed to the correct place. Once I had the accessibility description set for the respective status, I expanded the TimelineTest
to include a new test for asserting the accessible description of the statuses in the Main Timeline, We consider the test as passed if we find the two status types.
Week 9-10:
These weeks were spent fixing the build errors after rebase and checking different types of media-attachments in timelinetest
.
My mentor Carl Schwan helped me rebase work/sok/offline-tokodon
to the latest master
so that I could work on the latest changes, which led Tokodon to stop building due to some build and dependencies error, so the subsequent week was spent on fixing various errors which I tackled by comparing the work/sok/offline-tokodon
branch with the master
branch and with previous commits, my mentor Carl was always available to give me clues whenever I felt stuck.
Once all the build errors were fixed and Tokodon was able to build successfully, I worked on adding tests for testing different types of media attachments on statuses, for which I referred to mastodon’s documentation to see what response is received while requesting different kinds of media attachment, which I then integrated into the already present statuses.json
file, after which I was successful in displaying different kinds of media attachment.
Once all the different types of media attachments were visible, I expanded the TimelineTest
test to include testing of media attachments by asserting whether the different types of media attachments were visible.