— No reviews yet
0 installs
12 views
0.0% view→install
Install
$ agentstack add skill-cuongtl1992-vibe-skills-angular-testing ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Are you the author of Angular Testing? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claimAbout
Angular Testing Patterns
Jest + TestBed with AAA (Arrange/Act/Assert) pattern.
Test File Location
Test files live next to the source file: entity.service.ts → entity.service.spec.ts
Core Pattern: TestBed + InjectionToken Mocks
import { TestBed } from '@angular/core/testing';
describe('CreateEntityUseCase', () => {
let useCase: CreateEntityUseCase;
let mockRepository: jest.Mocked;
beforeEach(() => {
mockRepository = {
find: jest.fn(),
findById: jest.fn(),
create: jest.fn(),
update: jest.fn(),
delete: jest.fn(),
};
TestBed.configureTestingModule({
providers: [
CreateEntityUseCase,
{ provide: ENTITY_REPOSITORY, useValue: mockRepository },
{ provide: AuthService, useValue: { getCurrentUser: () => ({ id: 1 }) } },
],
});
useCase = TestBed.inject(CreateEntityUseCase);
});
it('should create entity successfully', async () => {
// Arrange
const request = { name: 'Test Entity' };
const expected = { id: 1, name: 'Test Entity' };
mockRepository.create.mockResolvedValue(Result.success(expected));
// Act
const result = await useCase.execute(request);
// Assert
expect(result.isSuccess).toBe(true);
expect(result.value).toEqual(expected);
expect(mockRepository.create).toHaveBeenCalled();
});
it('should return failure when name is empty', async () => {
const result = await useCase.execute({ name: '' });
expect(result.isFailure).toBe(true);
});
});
Signal Testing
it('should update signal state', () => {
const service = TestBed.inject(EntityListStateService);
service.setKeyword('test');
expect(service.keyword()).toBe('test');
expect(service.page()).toBe(1); // reset on filter change
});
Detailed Patterns
- UseCase/Query tests: [references/usecase-testing.md](references/usecase-testing.md)
- Component tests: [references/component-testing.md](references/component-testing.md)
- State service tests: [references/state-service-testing.md](references/state-service-testing.md)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cuongtl1992
- Source: cuongtl1992/vibe-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.