Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Testing Like a User with Angular Testing Library: render, Role Queries and user-event
Testing like a user means finding elements by role and label and interacting in the order a user does: the test written with fireEvent.input failed because it skipped the blur that marks the field as touched, while the user-event version passed. On Bookstore's Signal Forms checkout form we cover render(), query priority, error messages tied with aria-describedby, findBy for async content, navigation with routes and a comparison with the same TestBed test, all with real runs.
Angular 22: OnPush by Default, Stable Signal Forms and a File-by-File Comparison with Angular 12
In Angular 22 OnPush is the default, Signal Forms and the resource APIs are stable, and HttpClient uses Fetch. We also cover the yearly major cadence and a file-by-file diff with an Angular 12 project.
Angular 21: Zoneless by Default, Experimental Signal Forms and Vitest
In Angular 21 new projects start without Zone.js, Signal Forms arrive as an experiment and become [formField] in 21.1, and Vitest becomes the default test runner. We compare it all with Angular 12.