{"id":13394912,"url":"https://github.com/rmurphey/js-assessment","last_synced_at":"2025-05-14T07:10:27.372Z","repository":{"id":2979898,"uuid":"3995635","full_name":"rmurphey/js-assessment","owner":"rmurphey","description":"A test-driven approach to assessing JS skills","archived":false,"fork":false,"pushed_at":"2023-01-26T17:23:29.000Z","size":524,"stargazers_count":5156,"open_issues_count":20,"forks_count":2037,"subscribers_count":154,"default_branch":"master","last_synced_at":"2025-04-11T02:51:41.073Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rmurphey.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-04-11T16:32:36.000Z","updated_at":"2025-04-05T20:53:24.000Z","dependencies_parsed_at":"2023-02-14T19:55:40.123Z","dependency_job_id":null,"html_url":"https://github.com/rmurphey/js-assessment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmurphey%2Fjs-assessment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmurphey%2Fjs-assessment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmurphey%2Fjs-assessment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmurphey%2Fjs-assessment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rmurphey","download_url":"https://codeload.github.com/rmurphey/js-assessment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092796,"owners_count":22013291,"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","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-07-30T17:01:35.954Z","updated_at":"2025-05-14T07:10:22.361Z","avatar_url":"https://github.com/rmurphey.png","language":"JavaScript","readme":"[![Build Status](https://travis-ci.org/rmurphey/js-assessment.svg?branch=master)](https://travis-ci.org/rmurphey/js-assessment)\n\n# A test-driven JS assessment\n\nThis repo includes a set of tests that can be used to assess the skills of\na candidate for a JavaScript position, or to evaluate and improve one's own\nskills.\n\n## I want to work on the tests; what do I do?\nTo use the tests, you will need to install [Node](https://nodejs.org/). Note\nthat on Windows, there are some reports that you will need to restart\nafter installing Node - see #12.\n\nYou can clone or download this repo. Once you have done so, from the root\ndirectory of the repo, run:\n\n    npm install\n    npm start\n\nYou can then view the tests in your browser at\n[http://localhost:4444](http://localhost:4444).\n\nWhen you visit that page, all of the tests should be failing; your job is to\nget the tests to pass. To do this, you'll need to refer to the tests in the\nfiles in the `tests/app` directory, and edit the files in the `app/` directory.\nOnce you update a test, you can reload the test page in the browser to see\nwhether it worked.\n\nYou can also run (most of) the tests on the command line:\n\n    npm test\n\nThe command line runner is a work in progress; contributions welcome :)\n\n### Available dependencies\n\nThe repo includes jQuery, Backbone, and Underscore. You can use these\nlibraries when writing your solutions!\n\n## I want to contribute tests; what do I do?\n\nSubmit a pull request! The tests are currently loosely organized by topic, so\nyou should do your best to add tests to the appropriate file in `tests/app`, or\ncreate a new file there if you don't see an appropriate one. If you do create\na new file, make sure to add it to `tests/runner.js`, and to add a stub for the\nsolution to the corresponding file in `app/`. Finally, it would be great if you\ncould update the [answers](https://github.com/rmurphey/js-assessment-answers)\nas well.\n\nIf you're not sure how or where to add a test, please open an issue.\n\n### Data-driven tests\n\nIf your tests need data that can be fetched via XHR, stick a `.json` file in\nthe `data` directory; you can access it at `/data/\u003cfilename\u003e.json`.\n\n## I want to see the answers!\n\nFirst, bear in mind that looking up the answers is going to teach you a whole\nlot less than you'll learn by working on the tests, even if you occasionally get\nstuck. I'd recommend only looking at the answers once you have the tests\npassing, to see if there's another way you could have approached the\nproblem. When you're ready to look at the answers, you can find them\n[here](https://github.com/rmurphey/js-assessment-answers); I'll do my best to\nkeep them up to date.\n\n## I hate \\\u003csome technology you've chosen\\\u003e\n\nThis repo uses [Mocha](https://github.com/mochajs/mocha) and\n[Chai](http://chaijs.com/) for the tests themselves. It uses the BDD style for authoring tests.\nIf this doesn't suit you, please fork away, or, better, submit a pull request that lets\nthis be more flexible than it currently is.\n\n# Todos\n\nThere are a number of things that would make this project better; check out the\n[issues](https://github.com/rmurphey/js-assessment/issues) for details, pull\nrequests welcome!\n\n# License\n\nCopyright \u0026copy; 2012-2016 Rebecca Murphey with many thanks to several\n[contributors](https://github.com/rmurphey/js-assessment/graphs/contributors).\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-sa/4.0/88x31.png\" /\u003e\u003c/a\u003e\n\nThis work is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003eCreative Commons Attribution-ShareAlike 4.0 International License\u003c/a\u003e.\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmurphey%2Fjs-assessment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmurphey%2Fjs-assessment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmurphey%2Fjs-assessment/lists"}