{"id":25204288,"url":"https://github.com/kbelltree/testing-practice","last_synced_at":"2025-10-26T22:02:58.148Z","repository":{"id":253469376,"uuid":"842196180","full_name":"kbelltree/testing-practice","owner":"kbelltree","description":"Project: Testing Practice","archived":false,"fork":false,"pushed_at":"2024-08-16T22:23:10.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T08:17:14.284Z","etag":null,"topics":["caesar-cipher","javascript","jest-tests","js","odin-project"],"latest_commit_sha":null,"homepage":"https://github.com/kbelltree/testing-practice/blob/main/index.js","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/kbelltree.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-13T21:45:55.000Z","updated_at":"2024-08-16T22:25:53.000Z","dependencies_parsed_at":"2024-08-17T05:15:08.635Z","dependency_job_id":null,"html_url":"https://github.com/kbelltree/testing-practice","commit_stats":null,"previous_names":["kbelltree/testing-practice"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbelltree%2Ftesting-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbelltree%2Ftesting-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbelltree%2Ftesting-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbelltree%2Ftesting-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kbelltree","download_url":"https://codeload.github.com/kbelltree/testing-practice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266482,"owners_count":20910832,"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":["caesar-cipher","javascript","jest-tests","js","odin-project"],"created_at":"2025-02-10T08:17:22.966Z","updated_at":"2025-10-26T22:02:58.091Z","avatar_url":"https://github.com/kbelltree.png","language":"JavaScript","readme":"# testing-practice\n\n## Project: Testing Practice\n\nThis project is a practice exercise for Test Driven Development (TDD) using **Jest** in JavaScript. For comprehensive details on this project, please refer to [The Odin Project - Project: Testing Practice](https://www.theodinproject.com/lessons/node-path-javascript-testing-practice).\n\n## Key Project Instructions:\n\nWrite tests for the following functions and ensure that all tests pass.\n\n### Functions To Test\n\n- `capitalize`:\u003cbr\u003e\n  Capitalizes the first letter of a string.\n- `reverseString`:\u003cbr\u003e\n  Reverses the order of a string.\n- `calculator` **object** containing the following methods:\n  - `add`\n  - `subtract`\n  - `divide`\n  - `multiply`\n- `caesarCipher`:\u003cbr\u003e\n  Takes a string and a shift factor, returning an encrypted (\"shifted\") version of the string.\n  \u003cbr\u003e\n  **Requirements:**\u003cbr\u003e\n\n  1. The alphabet should wrap around according to the shift factor, e.g., **caesarCipher('xyz', 3)** should return **'abc'**.\n  2. The case of each letter should remain the same as in the original string, e.g., **caesarCipher('HeLLo', 3)** should return **'KhOOr'**.\n  3. Punctuation and other special characters should remain unchanged, e.g., **caesarCipher('Hello, World!', 3)** should return **'Khoor, Zruog!'**.\n\n- `analyzeArray`:\u003cbr\u003e\n  TTakes an array of numbers as a parameter and returns an object containing the `average`, `min`, `max`, `length` of the array.\n\n  **[Link to My Functions](./index.js)** \u003cbr\u003e\n  **[Link to My Tests](./index.test.js)**\n\n## Built With\n\n- JavaScript\n- Prettier\n- Jest\n\n---\n\n### Referenced Tutorials\n\n[Test-Driven Development Tutorial – How to Test Your JavaScript and ReactJS Applications by freeCodeCamp](https://www.freecodecamp.org/news/test-driven-development-tutorial-how-to-test-javascript-and-reactjs-app/#heading-javascript-example-of-a-test-driven-development-workflow)\n\n[3 The Caesar Cipher and Modular Arithmetic by Scott Sutherland](https://www.math.stonybrook.edu/~scott/papers/MSTP/crypto/3Caesar_Cipher.html)\n\n[How to get min or max of an array in JavaScript by Vlad Bezden](https://medium.com/@vladbezden/how-to-get-min-or-max-of-an-array-in-javascript-1c264ec6e1aa)\n\n[How to Check if a String is Empty or Null in JavaScript – JS Tutorial by freeCodeCamp](https://www.w3schools.com/jsref/jsref_some.asp)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbelltree%2Ftesting-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkbelltree%2Ftesting-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbelltree%2Ftesting-practice/lists"}