Chris Roos by Chris Roos

Week 341

Howdi, folks.

Week 341 saw James returning from his sailing holiday looking suitably tanned and relaxed.

We spent Monday to Thursday working on Smart Answers. James spent Friday working on GFR while I swanned off to France for Jase’s wedding.

Smart Answers

James spent most of the week working on the new HMRC calculator. He’s got a basic version sketched out that’s looking good. It’s proving more time-consuming than expected to try to model the policy as close as possible. We think this is really important to help us end up with code that really lends itself to future changes.

We finally got the OK to deploy a long-lived branch (the first commits date back to May 13th!) containing changes to calculate-statory-sick-pay. We’d run into a few problems trying to keep this long-lived branch up to date so it was great to finally get it merged.

Deploying the changes to calculate-statutory-sick-pay unblocked James’s branch that added regression tests to that Smart Answer. This was the final Smart Answer that was waiting for regression tests so it was great to get this unblocked and merged.

Having regression tests in place allowed me to open a Pull Request that converted calculate-statutory-sick-pay to use ERB templates. This just leaves marriage-abroad using the old style YAML templates.

Now that we’re mostly done with the regression tests and conversions to ERB I moved on to start refactoring some of the Smart Answers.

I refactored additional-commodity-code to move some of the logic out of the flow and into the calculator.

I spent quite a bit of the week refactoring the minimum-wage shared logic. We think the result is much better: all the policy logic is contained in an object and the presentation is handled by the view which leaves the flow much simpler and easier to follow.

I fixed a problem that meant people were able to enter 0 hours in the minimum-wage calculators resulting in the outcome showing “NaN”.

I indented ERB templates for register-a-birth and register-a-death now that some outstanding changes have been deployed.

I spent a short while investigating Rubocop violations. I’d love to get this added to the project and running automatically.

James configured Mocha to disable stubbing of non-existent methods, which in turn involved updating a number of existing tests.

James merged his attempted fix for the intermittent test failure we’re seeing on CI.

Tadas got the app upgraded to Ruby 2.1.6 and continued his sterling work of handling updates to the existing Smart Answers, including overseas-passports, student-finance-forms and calculate-state-pension.

James and I finished up on Thursday by preparing some notes for the presentation we’ve agreed to give at the content team Show and Tell next week.


Among other miscellaneous admin on Friday, James managed to improve both our website and a little app we use to integrate Trello and Harmonia.

James improved our site by dynamically listing our Show and Tell blog posts on the Show and Tell homepage.

James improved our Trello/Harmonia integration by automatically ordering adding new task cards in the correct order, and by handling the case where a Harmonia-task card has been deleted when the app tries to update it.

Until next time.

– Chris

If you have any feedback on this article, please get in touch!

Historical comments can be found here.