{"id":13341970,"url":"https://github.com/wridgeu/UI5-testing","last_synced_at":"2025-03-11T23:30:43.246Z","repository":{"id":38353140,"uuid":"265337222","full_name":"wridgeu/UI5-testing","owner":"wridgeu","description":"Demo Repository for working through the testing section on the official UI5-Documentation.","archived":false,"fork":false,"pushed_at":"2023-03-31T09:40:12.000Z","size":290,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T22:15:39.543Z","etag":null,"topics":["karma","learning-by-doing","opa","sapui5","testing","tutorial","ui5","walkthrough","wiki"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wridgeu.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":"2020-05-19T18:58:27.000Z","updated_at":"2021-10-11T11:44:19.000Z","dependencies_parsed_at":"2024-10-24T02:55:04.596Z","dependency_job_id":"763e0307-618d-4d5b-b611-df0d843b2e3f","html_url":"https://github.com/wridgeu/UI5-testing","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/wridgeu%2FUI5-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wridgeu%2FUI5-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wridgeu%2FUI5-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wridgeu%2FUI5-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wridgeu","download_url":"https://codeload.github.com/wridgeu/UI5-testing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243129592,"owners_count":20241039,"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":["karma","learning-by-doing","opa","sapui5","testing","tutorial","ui5","walkthrough","wiki"],"created_at":"2024-07-29T19:27:12.465Z","updated_at":"2025-03-11T23:30:42.914Z","avatar_url":"https://github.com/wridgeu.png","language":"JavaScript","readme":"# UI5-Testing\n\nThis repository is meant to serve as example for how testing works within UI5. It is basically what happens when you work through the entire \"Testing\"-Section within the official [UI5 documentation](https://sapui5.hana.ondemand.com/#/topic/291c9121e6044ab381e0b51716f97f52).\n\n### Preview\n\n![](readme_src/Preview.png)\n\n### Testing Pyramid\n\n![](readme_src/TestingPyramid.png)\n\n# Getting Started\nYou can just clone this repository, run npm install and use the [UI5 tooling](https://github.com/SAP/ui5-tooling) to locally serve the application in order to debug/learn from it.\n\nHint: it already uses the livereload-middleware for the [UI5 tooling](https://github.com/SAP/ui5-tooling), so changes while serving will trigger an immediate update in the browser.\n\n1. Clone the repository\n    ```sh\n    $\u003e git clone \u003crepository-url\u003e\n    ```\n1. Navigate into the cloned repository \n    ```sh\n    $\u003e cd \u003crepository\u003e\n    ```\n1. Install all dependencies\n    ```sh\n    $\u003e npm install\n    ```\n1. Start the application\n    ```sh\n    $\u003e npm start\n    ```\n## Namespace \u0026 Projectname\n\nThe paths within this project are - as usual - prefixed by the `projectId` ( which is declared within the `manifest.json` file). The prefix is made up by a given namespace and the name of the project. I must admit that the project name is quite verbose.\n\n* Namespace: `com.mrb`\n* Projectname: `UI5-Testing`\n\n# Tutorial Steps\n\n* Step 1: Overview and Testing Strategy :white_check_mark: [0ebd475](https://github.com/SAPMarco/UI5-testing/commit/0ebd475e74be1b46fe3678decf5b20a614f0e715)\n* Step 2: A First Unit Test :white_check_mark: [3420350](https://github.com/SAPMarco/UI5-testing/commit/3420350bada98c18491a718d893798b5ada12c66)\n* Step 3: Adding the Price Formatter :white_check_mark: [ea435e8](https://github.com/SAPMarco/UI5-testing/commit/ea435e844cc0d7cd35007dc356c53485289ac91b)\n* Step 4: Testing a New Module :white_check_mark: [486aba7](https://github.com/SAPMarco/UI5-testing/commit/486aba724b37bc0b66a80d15f69d5b1688c17cb1)\n* Step 5: Adding a Flag Button :white_check_mark: [2d014a4](https://github.com/SAPMarco/UI5-testing/commit/2d014a4e352f17e91256aca905ac44937505223b)\n* Step 6: A First OPA Test :white_check_mark: [27b0b20](https://github.com/SAPMarco/UI5-testing/commit/27b0b20e14b5a0c79afd777e1cc85d4348d28eb4)\n* Step 7: Changing the Table to a Growing Table :white_check_mark: [020e35f](https://github.com/SAPMarco/UI5-testing/commit/020e35f4160a78f2cf3a9059a834cca0852956d0)\n* Step 8: Testing Navigation :white_check_mark: [2b69492](https://github.com/SAPMarco/UI5-testing/commit/2b69492eeac6c395e595069efe658dd7f79f030a)\n* Step 9: Adding the Post Page :white_check_mark: [e82e3a1](https://github.com/SAPMarco/UI5-testing/commit/e82e3a15933dfbee447ee042cef9ad33b650a39b)\n* Step 10: Test Suite and Automated Testing :white_check_mark: [5836e74](https://github.com/SAPMarco/UI5-testing/commit/5836e749c56a9a57542362102ab9a4d7dfad7c21) \n* Step 11: Testing User Input :white_check_mark: [ff36d79](https://github.com/SAPMarco/UI5-testing/commit/ff36d797a5952b88073ab9d7d0cc3347b0c6af3f)  \n* Step 12: Adding a Search :white_check_mark: [240f562](https://github.com/SAPMarco/UI5-testing/commit/240f562ab5529ab753c5c0e85fce8900122ac7b3) \n* Step 13: Testing User Interaction :white_check_mark: [6d158b9](https://github.com/SAPMarco/UI5-testing/commit/6d158b93fb4e17eb2d187736c138169f089d93dc) \n* Step 14: Adding Tabs :white_check_mark: [e790fd2](https://github.com/SAPMarco/UI5-testing/commit/e790fd28d2167193ef4add3963ca30eed670ccb8) \n* Step 15: Writing a Short Date Formatter Using TDD :white_check_mark: [5cccb62](https://github.com/SAPMarco/UI5-testing/commit/5cccb62c7ca53e53c89202cc02c7ec0d76fdfd94) \n* Step 16: Adding the Date Formatter :white_check_mark: [c41978e](https://github.com/SAPMarco/UI5-testing/commit/c41978e0bfb01a0867efcf680d25eee9f78f4e56)\n\nImplemented = :white_check_mark:\n\n# Additional Information\n\n## OData-Service 'settings'\n\nWhen declaring the OData-Service as our model, we have added the parameter `metadataUrlParams` like so:\n\n```json\n\"sap.app\": {\n    \"dataSources\": {\n      \"mainService\": {\n        \"uri\": \"/here/goes/your/serviceUrl/\",\n        \"type\": \"OData\",\n        \"settings\": {\n          \"odataVersion\": \"2.0\",\n          \"localUri\": \"localService/metadata.xml\"\n        }\n      }\n    }\n  },\n\"models\": {\n      \"\": {\n        \"dataSource\": \"mainService\",\n        \"settings\": {\n          \"metadataUrlParams\": {\n            \"sap-documentation\": \"heading\"\n          }\n        }\n      }\n    }\n``` \n\nThis results in a GET-Request that looks like the following:\n\n```\nhttp://localhost:8080/here/goes/your/serviceUrl/$metadata?sap-documentation=heading\u0026sap-language=EN \n```\n\nStandard `$metadata`:\n```xml\n\u003cProperty Name=\"PostingDate\" Type=\"Edm.DateTime\" Precision=\"7\" \n   sap:label=\"Posting Date\" /\u003e \n``` \n\nExtended `$metadata?sap-documentation=heading`:\n```xml\n\u003cProperty Name=\"PostingDate\" Type=\"Edm.DateTime\" Precision=\"7\" \n   sap:label=\"Posting Date\" sap:heading=\"Pstng Date\"/\u003e \n``` \n\nYou can find additional information to the use of this parameter [here](https://help.sap.com/doc/saphelp_gateway20sp12/2.0/en-US/30/6e8c537c8fcc26e10000000a4450e5/frameset.htm).\n\n# Credits\n\nFor more information check:\n\n* [UI5 Documentation](https://sapui5.hana.ondemand.com/#/topic/291c9121e6044ab381e0b51716f97f52)\n* [Cookbook for OPA5](https://sapui5.hana.ondemand.com/#/topic/ce4b180d97064ad088a901b53ed48b21.html)\n* [Getting Started](https://sapui5.hana.ondemand.com/#/topic/8b49fc198bf04b2d9800fc37fecbb218.html)\n* [Each Step as Download](https://sapui5.hana.ondemand.com/#/entity/sap.m.tutorial.testing)\n* [Test Automation](https://sapui5.hana.ondemand.com/#/topic/ae448243822448d8ba04b4784f4b09a0.html#loioae448243822448d8ba04b4784f4b09a0)\n* [Mock Server](https://sapui5.hana.ondemand.com/#/topic/69d3cbd4150c4ffb884e788f7f60fd93)\n* [Test Recorder](https://sapui5.hana.ondemand.com/#/topic/2535ef9272064cb6bd6b44e5402d531d)\n* [OPA5](https://sapui5.hana.ondemand.com/#/topic/2696ab50faad458f9b4027ec2f9b884d)\n* [QUNIT](https://sapui5.hana.ondemand.com/#/topic/09d145cd86ee4f8e9d08715f1b364c51)\n* [SAP Gateway Developer Guide](https://help.sap.com/doc/saphelp_gateway20sp12/2.0/en-US/30/6e8c537c8fcc26e10000000a4450e5/frameset.htm)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwridgeu%2FUI5-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwridgeu%2FUI5-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwridgeu%2FUI5-testing/lists"}