{"id":23088083,"url":"https://github.com/cioina/angular-test-example","last_synced_at":"2026-04-28T11:04:40.217Z","repository":{"id":261296015,"uuid":"883882868","full_name":"cioina/angular-test-example","owner":"cioina","description":"Angular test project for cioina.azurewebsites.net","archived":false,"fork":false,"pushed_at":"2025-03-04T17:23:22.000Z","size":723,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T18:28:46.592Z","etag":null,"topics":["angular","testing"],"latest_commit_sha":null,"homepage":"https://cioina.azurewebsites.net/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cioina.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":"2024-11-05T18:34:51.000Z","updated_at":"2025-03-04T17:23:25.000Z","dependencies_parsed_at":"2024-11-05T19:48:33.648Z","dependency_job_id":"8ab5cc45-015f-4675-a230-1d26e08fa9c9","html_url":"https://github.com/cioina/angular-test-example","commit_stats":null,"previous_names":["cioina/angular-test-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cioina%2Fangular-test-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cioina%2Fangular-test-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cioina%2Fangular-test-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cioina%2Fangular-test-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cioina","download_url":"https://codeload.github.com/cioina/angular-test-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247043324,"owners_count":20874085,"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":["angular","testing"],"created_at":"2024-12-16T20:15:57.346Z","updated_at":"2026-04-28T11:04:40.191Z","avatar_url":"https://github.com/cioina.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Testing Angular Applications\n\n[![test-run](/version-2/test-run.png?raw=true)](https://github.com/cioina/angular-test-example/blob/main/version-2/test-run.png)\n\n## Introduction\n\n[Our Angular app](https://cioina.azurewebsites.net/) Is based on [ng-antd-admin](https://github.com/huajian123/ng-antd-admin) combined with [angular-conduit-signals](https://github.com/AndyT2503/angular-conduit-signals). In addition, we use following Angular libraries direct form sources: [NG-ZORRO components src](https://github.com/NG-ZORRO/ng-zorro-antd/tree/master/components), [icons-angular src](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons-angular/src) and [component-store src](https://github.com/ngrx/platform/tree/main/modules/component-store/src) with some minor changes. All our reactive states look similar to [auth.store.ts](https://github.com/AndyT2503/angular-conduit-signals/blob/dev/src/app/shared/store/auth.store.ts)\nThe app communicates with the server via REST API controllers built on top of .NET Core 9. The compiled bin code is on [our GitHub repository](https://github.com/cioina/cioina.azurewebsites.net/tree/main/bin/Release/net9.0) together with [compiled Angular app](https://github.com/cioina/cioina.azurewebsites.net/tree/main/bin/Release/net9.0/wwwroot)\n\n## Testing tools for Angular\n\nWe use the same tools/packages as in [NG-ZORRO](https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/package.json), which are the same as in [TEST_DEPS](https://github.com/angular/angular/blob/main/adev/BUILD.bazel) plus `puppeteer`. In addition, Angular and NG-ZORRO have a lot of classes and functions ready to use right out of the box:\n\n```javascript\nimport { ComponentFixture, TestBed, fakeAsync, tick, waitForAsync, inject as testInject } from '@angular/core/testing';\nimport { dispatchMouseEvent, dispatchFakeEvent, typeInElement } from 'ng-zorro-antd/core/testing';\nimport { provideNzIconsTesting } from 'ng-zorro-antd/icon/testing';\n```\n\n## Testing Angular app together with .NET Core app\n\nOur actual(up to date) [test project](https://github.com/cioina/MyTested-test-project-example/tree/main/src/BlogAngular.Test/Test) for our .NET Core app uses in memory database which is very convenient for testing (read more about it [here](https://cioina.azurewebsites.net/articles/dotnet-core-testing) ) Next, would be great to test on a real database. So, all our Angular test from [our GitHub repository](https://github.com/cioina/angular-test-example/tree/main/version-2) will connect with our .NET Core app which is connected to real MS SQL database. Therefore, it represents a type of integration test.\nAll the files ending in [*.store.spec.ts](https://github.com/cioina/angular-test-example/blob/main/version-2/home.store.spec.ts) can be considered as real API testing which is an alternative to [Puppeteer](https://github.com/cioina/ng-zorro-antd-site), [Vitest](https://github.com/cioina/vitest-browser-angular), [Newman](https://github.com/gothinkster/realworld/blob/main/api/run-api-tests.sh), [Storybook](https://github.com/cioina/angular-vite-storybook/blob/main/src/stories/page.stories.ts) or [Playwright](https://github.com/stefanoslig/angular-ngrx-nx-realworld-example-app/blob/main/apps/conduit-e2e/src/auth/auth.spec.ts)\n\n## Using Signal type in Angular together with Reactive State library\n\n[![vs](/vs.png?raw=true)](https://github.com/cioina/angular-test-example/blob/main/vs.png)\n\n[![ng-blog](/ng-blog.png?raw=true)](https://github.com/cioina/angular-test-example/blob/main/ng-blog.png)\n\nBefore Signal type became native in Angular, we used [Reactive State library]( https://github.com/ngrx/platform) for [our integration tests](https://github.com/cioina/angular-test-example/tree/main/version-1). Now, the library has implemented two ways of using Signals: [@ngrx/signals](https://github.com/stefanoslig/angular-ngrx-nx-realworld-example-app/blob/main/libs/auth/data-access/src/auth.store.ts) and [@ngrx/component-store](https://github.com/AndyT2503/angular-conduit-signals/blob/dev/src/app/shared/store/auth.store.ts). We use the second one direct from sources.\n\n## Credits\n\n- [Angular contributors](https://github.com/angular/angular/graphs/contributors)\n- [NG-ZORRO contributors](https://github.com/NG-ZORRO/ng-zorro-antd/graphs/contributors)\n- [Ant Design contributors](https://github.com/ant-design/ant-design-icons/graphs/contributors)\n- [Reactive State for Angular contributors](https://github.com/ngrx/platform/graphs/contributors)\n- [hua jian](https://github.com/huajian123)\n- [Andy Tu Hoang](https://github.com/AndyT2503)\n- [Stefanos Lignos](https://github.com/stefanoslig)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcioina%2Fangular-test-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcioina%2Fangular-test-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcioina%2Fangular-test-example/lists"}