{"id":21540027,"url":"https://github.com/robinpowered/sdet-interview-challenge","last_synced_at":"2025-06-13T05:02:47.501Z","repository":{"id":44736514,"uuid":"452789947","full_name":"robinpowered/sdet-interview-challenge","owner":"robinpowered","description":"Tasks for prospective SDETs to complete during the interview process.","archived":false,"fork":false,"pushed_at":"2022-02-18T20:11:13.000Z","size":75,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-03-17T21:51:46.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"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/robinpowered.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2022-01-27T18:03:09.000Z","updated_at":"2022-01-28T14:24:37.000Z","dependencies_parsed_at":"2022-08-26T04:40:34.387Z","dependency_job_id":null,"html_url":"https://github.com/robinpowered/sdet-interview-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/robinpowered/sdet-interview-challenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinpowered%2Fsdet-interview-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinpowered%2Fsdet-interview-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinpowered%2Fsdet-interview-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinpowered%2Fsdet-interview-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robinpowered","download_url":"https://codeload.github.com/robinpowered/sdet-interview-challenge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinpowered%2Fsdet-interview-challenge/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259584707,"owners_count":22880187,"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-11-24T04:17:01.924Z","updated_at":"2025-06-13T05:02:47.397Z","avatar_url":"https://github.com/robinpowered.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Robin SET Interview Challenge\n\nWelcome!\n\nHere you will find a set testing assignments to perform when interviewing with Robin. These tasks represent testing scenarios similar to what you can expect to encounter while working at Robin.\n\nWe do not expect you to spend more than two hours total on these challenges.\n\n## Getting Started\n\n### Pre-requisites\n\n- NodeJS version 16+ [Download here](https://nodejs.org/en/) or use nvm.\n\nOnce node is installed clone this repository. Please ensure all work is done on a new feature branch:\n```\ngit checkout -b robin-challenge-solutions\n```\n\n```\nnpm install\n```\n\n## Challenges\n\nThere are two challenges to be completed. First, you will write some typical REST API tests. After that, you will write some ideas about more nefarious tests that could/should be considered.\n\n### Challenge 1: REST API Testing\n\nFor this challenge you will be writing some tests against the [Open Brewery DB REST API](https://www.openbrewerydb.org/documentation). This API is publically available and has no authentication requirements. \n\nJavascript and [JEST](https://jestjs.io/docs/getting-started) tests are preferred, however other languages and frameworks may be used instead. If you use another technology, please include instructions on how to run the tests along with with your submission. \n\nThis project is wired up to run JEST tests with either of the following commands:\n\n```\nnpm test             # Runs all tests one time\nnpm run test:watch   # Runs tests any time the files are modified. \n```\n\n![exclamation point](exclamation.png) DO NOT write or execute any tests that could be considered nefarious or DoS attempts!!! This API is not owned or operated by Robin and we wish to do no harm.\n\nYou should spend 60-90 minutes writing positive and negative tests against the API. __It would be preferred to go deep against a single endpoint (like list) than to have shallow coverage for all four endpoints.__ \n\nYour tests should be written under [test/openbrewerydb](test/openbrewerydb) and should pass consistently.\n\n### Challenge 2: Your Darker Side\n\nNow that you have written some standard REST API tests, put on your evil hat. For this challenge we want you to write a list of test scenarios (as text, not executable test cases), which WOULD be construed as nefarious and/or DoS attempts! What evil things would you do to ensure the robustness and security of this API.\n\nYour test cases should be added to [Challenge2-TestCases.md](Challenge2-TestCases.md)\nAgain, this is a text list of scenarios and NOT something that you should be executing. We wish to cause no harm to the API.\n\nYou should spend ~30 minutes on this task.\n\n## Preparing and submitting the challenge\n\nPlease submit your response via email in the form of a git patch. Please check to make sure all your changes are committed before generating the patch file. Once generated you can attach the patch file and email it back to the person who sent you the challenge. The patch file can be generated by running the following command.\n\n```\ngit format-patch master --stdout \u003e \u003cyourname\u003e-solutions.patch\n```\n\nWe look forward to seeing your solutions!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinpowered%2Fsdet-interview-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobinpowered%2Fsdet-interview-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinpowered%2Fsdet-interview-challenge/lists"}