{"id":19486247,"url":"https://github.com/textbook/stamp-it-out","last_synced_at":"2025-09-23T04:16:45.543Z","repository":{"id":79361539,"uuid":"522954561","full_name":"textbook/stamp-it-out","owner":"textbook","description":"Starting point for a TDD journey through an evolving tax.","archived":false,"fork":false,"pushed_at":"2022-08-09T13:15:33.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-22T01:47:43.112Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/textbook.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-09T13:08:53.000Z","updated_at":"2022-08-09T13:16:38.000Z","dependencies_parsed_at":"2023-03-12T07:54:00.991Z","dependency_job_id":null,"html_url":"https://github.com/textbook/stamp-it-out","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/textbook/stamp-it-out","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textbook%2Fstamp-it-out","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textbook%2Fstamp-it-out/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textbook%2Fstamp-it-out/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textbook%2Fstamp-it-out/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/textbook","download_url":"https://codeload.github.com/textbook/stamp-it-out/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textbook%2Fstamp-it-out/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276514166,"owners_count":25655750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T20:36:00.096Z","updated_at":"2025-09-23T04:16:45.527Z","avatar_url":"https://github.com/textbook.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stamp it out\n\nStarting point for a TDD journey through an evolving tax.\n\n## Requirements\n\nThis package has no dependencies, development or otherwise, but does require Node 18.\n\nThe exercise will assume basic TDD-in-JavaScript knowledge (e.g. see [this tutorial][js-tdd-ftw]).\n\nWe will be using two built-in Node modules, rather than Jest, for running the tests:\n\n- [Assert] - `assert.equal(actual, expected)` is basically Jest's `expect(actual).toEqual(expected)`); and\n- [Test] - `describe` and `it` work much the same as in Jest.\n\n## Context\n\nFor this exercise we will be modelling the UK's Stamp Duty Land Tax (SDLT).\n\nYou don't need to know anything up front, but for reference:\n\n- Summary: [Wikipedia][1]\n- Current rates: [gov.uk][2]\n- Historical rates: [gov.uk][3]\n\n## Setup\n\n[Fork and clone] this repository, navigate to the relevant directory then run the tests:\n\n```shell\n$ npm test\n\n\u003e stamp-it-out@0.1.0 test\n\u003e node --test\n\nTAP version 13\n# Subtest: path/to/stamp-it-out/index.test.js\nok 1 - path/to/stamp-it-out/index.test.js\n  ---\n  duration_ms: 0.057278667\n  ...\n1..1\n# tests 1\n# pass 1\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 0.092508584\n```\n\nThis output may seem odd, but it's just [TAP]. The key thing to check is that no tests failed: `fail 0`.\n\nIf you see `node: bad option: --test`, you're running the wrong version of Node - install 18 with e.g. [NVM].\n\n[1]: https://en.wikipedia.org/wiki/Stamp_duty_in_the_United_Kingdom\n\n[2]: https://www.gov.uk/stamp-duty-land-tax/residential-property-rates\n\n[3]: https://www.gov.uk/government/publications/rates-and-allowances-stamp-duty-land-tax\n\n[assert]: https://nodejs.org/api/assert.html\n\n[fork and clone]: https://docs.github.com/en/get-started/quickstart/fork-a-repo\n\n[js-tdd-ftw]: https://blog.jonrshar.pe/2020/Aug/31/js-tdd-ftw.html\n\n[nvm]: https://github.com/nvm-sh/nvm\n\n[tap]: https://testanything.org/\n\n[test]: https://nodejs.org/api/test.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextbook%2Fstamp-it-out","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftextbook%2Fstamp-it-out","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextbook%2Fstamp-it-out/lists"}