vamos a comprobar el router en el formulario del registro, para verificar si el ingreso del registro fue exitoso
para lo cual cambiamos una prueba e incrementamos un mock de la ruta
register-form.component.spec.ts
import { Router } from '@angular/router';
describe('RegisterFormComponent', () => {
 let component: RegisterFormComponent;
 let fixture: ComponentFixture<RegisterFormComponent>;
 let userService: jasmine.SpyObj<UsersService>;
 let router: jasmine.SpyObj<Router>;
 beforeEach(async () => {
  const spy = jasmine.createSpyObj('UsersService', ['create', 'isAvailableByEmail']);
  const routerSpy = jasmine.createSpyObj('Router', ['navigateByUrl']);
  await TestBed.configureTestingModule({
   declarations: [ RegisterFormComponent ],
   imports: [ ReactiveFormsModule ],
   providers: [
    { provide:  UsersService, useValue: spy },
    { provide:  Router, useValue: routerSpy },
   ]
  })
  .compileComponents();
 });
 beforeEach(() => {
  fixture = TestBed.createComponent(RegisterFormComponent);
  userService = TestBed.inject(UsersService) as jasmine.SpyObj<UsersService>;
  router = TestBed.inject(Router) as jasmine.SpyObj<Router>;
  component = fixture.componentInstance;
  userService.isAvailableByEmail.and.returnValue(mockObservable({isAvailable: true}));
  fixture.detectChanges();
 });
Â
  it('should send the form successfully from UI', fakeAsync(() => {
  setInputValue(fixture, 'input#name', 'Nico');
  setInputValue(fixture, 'input#email', '[email protected]');
  setInputValue(fixture, 'input#password', '12121212');
  setInputValue(fixture, 'input#confirmPassword', '12121212');
  setCheckboxValue(fixture, 'input#terms', true);
  const mockUser = generateOneUser();
  userService.create.and.returnValue(asyncData(mockUser));
  // Act
  // component.register(new Event('submit'));
  clickElement(fixture, 'btn-submit', true);
  // query(fixture, 'form').triggerEventHandler('ngSubmit', new Event('submit'));
  fixture.detectChanges();
  expect(component.status).toEqual('loading');
  tick();  // exec pending tasks
  fixture.detectChanges();
  expect(component.status).toEqual('success');
  expect(component.form.valid).toBeTruthy();
  expect(userService.create).toHaveBeenCalled();
  expect(router.navigateByUrl).toHaveBeenCalledWith('/login');
 }));
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.