Week 3 - A big week of learning!

Published: 06/20/2023


This week I made major progress with the repository test files, and also began working on the extended attributes ('xattr') test cases. I found this past week to be very enlightening, as I began to better understand the "why" behind a lot of Pytest concepts. For example, one member of the community taught me to use the built in pytest fixture `tmp_path` for all temp directories and files, as it automatically cleans up after itself and works consistently across all OS's. I also got a better understanding of context managers, a concept that was really tripping me up in week 2. I also feel good about getting more involved with the commentary this week, as both my mentors and a community members pitched in ideas to help me with the draft PRs I've submitted. After a week of solid progress, the repository tests are pretty near completion, and the xattr tests just need a couple finishing touches. The repository tests are almost 1250 lines of code, and has been a lot of work to get to where it is today, so I feel really proud of the work that has been done there this week.


A week would not be complete without some minor setbacks, and this week I certainly had my fair share. at one point I was getting a bit demotivated with the repository tests. I was getting a lot of community feedback on how to make them better, but sometimes the feedback would conflict and I would not be sure how to proceed. With such. big file, making even a small change to one of the fixtures of context managers would take lots of time to refactor across all the tests, and this became very tedious. However, my mentor Manu gave me some really great advice: he told me to start small and just get a couple of tests working before pushing the changes for review. Only after approval should I then refactor all tests to include the changes. He called this method the 'tracer bullet' style, and it really helped improve me speed.

The week ahead:
Repo and xattr tests should be finished up soon, and then I will begin working on converting the archiver folder of test. This folder has a lot of old unittest style tests, so my work is definitely cut out for me! At the end of this week I will get the ball rolling on my second project - implement profile sidebar for Vorta. I will start a FR post in the Vorta community to begin brainstorming what this could look like and thoughts on how it could be implemented. 


It has been an incredible week with lots of progress! Thank you all for reading, and I hope to catch you again next week!