Tests fixed
testing/ogGui-multibranch/pipeline/head This commit looks good Details

deb-pkg
Lucas Lara García 2025-02-26 10:05:34 +01:00
parent 114d919141
commit c441edead4
4 changed files with 56 additions and 50 deletions

View File

@ -1,5 +1,5 @@
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { OperationResultDialogComponent } from './operation-result-dialog.component'; import { OperationResultDialogComponent } from './operation-result-dialog.component';
describe('OperationResultDialogComponent', () => { describe('OperationResultDialogComponent', () => {
@ -8,7 +8,12 @@ describe('OperationResultDialogComponent', () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
declarations: [OperationResultDialogComponent] declarations: [OperationResultDialogComponent],
imports: [MatDialogModule],
providers: [
{ provide: MatDialogRef, useValue: {} },
{ provide: MAT_DIALOG_DATA, useValue: { success: [], errors: [] } }
]
}) })
.compileComponents(); .compileComponents();

View File

@ -4,32 +4,36 @@
<mat-dialog-content> <mat-dialog-content>
<div class="search-container"> <div class="search-container">
<mat-form-field appearance="fill" class="search-string" joyrideStep="searchNameStep" text="Busca subredes por nombre para localizar una subred específica rápidamente."> <mat-form-field appearance="fill" class="search-string" joyrideStep="searchNameStep"
text="Busca subredes por nombre para localizar una subred específica rápidamente.">
<mat-label i18n="@@searchLabel">Buscar nombre del cliente</mat-label> <mat-label i18n="@@searchLabel">Buscar nombre del cliente</mat-label>
<input matInput placeholder="Búsqueda" [(ngModel)]="filters['name']" i18n-placeholder="@@searchPlaceholder" (keyup.enter)="loadData()" <input matInput placeholder="Búsqueda" [(ngModel)]="filters['name']" i18n-placeholder="@@searchPlaceholder"
i18n-placeholder="@@searchPlaceholder"> (keyup.enter)="loadData()" i18n-placeholder="@@searchPlaceholder">
<mat-icon matSuffix>search</mat-icon> <mat-icon matSuffix>search</mat-icon>
<button *ngIf="filters['name']" mat-icon-button matSuffix aria-label="Clear tree search" (click)="filters['name'] = ''; loadData()"> <button *ngIf="filters['name']" mat-icon-button matSuffix aria-label="Clear tree search"
(click)="filters['name'] = ''; loadData()">
<mat-icon>close</mat-icon> <mat-icon>close</mat-icon>
</button> </button>
<mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar</mat-hint> <mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar</mat-hint>
</mat-form-field> </mat-form-field>
<mat-form-field appearance="fill" class="search-string" joyrideStep="searchIpStep" text="Busca clientes por IP."> <mat-form-field appearance="fill" class="search-string" joyrideStep="searchIpStep" text="Busca clientes por IP.">
<mat-label i18n="@@searchLabel">Buscar IP</mat-label> <mat-label i18n="@@searchLabel">Buscar IP</mat-label>
<input matInput placeholder="Búsqueda" [(ngModel)]="filters['ip']" i18n-placeholder="@@searchPlaceholder" (keyup.enter)="loadData()" <input matInput placeholder="Búsqueda" [(ngModel)]="filters['ip']" i18n-placeholder="@@searchPlaceholder"
i18n-placeholder="@@searchPlaceholder"> (keyup.enter)="loadData()" i18n-placeholder="@@searchPlaceholder">
<mat-icon matSuffix>search</mat-icon> <mat-icon matSuffix>search</mat-icon>
<button *ngIf="filters['ip']" mat-icon-button matSuffix aria-label="Clear tree search" (click)="filters['ip'] = ''; loadData()"> <button *ngIf="filters['ip']" mat-icon-button matSuffix aria-label="Clear tree search"
(click)="filters['ip'] = ''; loadData()">
<mat-icon>close</mat-icon> <mat-icon>close</mat-icon>
</button> </button>
<mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar</mat-hint> <mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar</mat-hint>
</mat-form-field> </mat-form-field>
<mat-form-field appearance="fill" class="search-string" joyrideStep="searchIpStep" text="Busca clientes por la MAC"> <mat-form-field appearance="fill" class="search-string" joyrideStep="searchIpStep" text="Busca clientes por la MAC">
<mat-label i18n="@@searchLabel">Buscar Mac</mat-label> <mat-label i18n="@@searchLabel">Buscar Mac</mat-label>
<input matInput placeholder="Búsqueda" [(ngModel)]="filters['mac']" i18n-placeholder="@@searchPlaceholder" (keyup.enter)="loadData()" <input matInput placeholder="Búsqueda" [(ngModel)]="filters['mac']" i18n-placeholder="@@searchPlaceholder"
i18n-placeholder="@@searchPlaceholder"> (keyup.enter)="loadData()" i18n-placeholder="@@searchPlaceholder">
<mat-icon matSuffix>search</mat-icon> <mat-icon matSuffix>search</mat-icon>
<button *ngIf="filters['mac']" mat-icon-button matSuffix aria-label="Clear tree search" (click)="filters['mac'] = ''; loadData()"> <button *ngIf="filters['mac']" mat-icon-button matSuffix aria-label="Clear tree search"
(click)="filters['mac'] = ''; loadData()">
<mat-icon>close</mat-icon> <mat-icon>close</mat-icon>
</button> </button>
<mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar</mat-hint> <mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar</mat-hint>
@ -38,13 +42,12 @@
<app-loading [isLoading]="loading"></app-loading> <app-loading [isLoading]="loading"></app-loading>
<table *ngIf="!loading" mat-table [dataSource]="dataSource" class="mat-elevation-z8" joyrideStep="tableStep" <table *ngIf="!loading" mat-table [dataSource]="dataSource" class="mat-elevation-z8" joyrideStep="tableStep"
text="Visualiza y administra las subredes listadas según los filtros aplicados."> text="Visualiza y administra las subredes listadas según los filtros aplicados.">
<ng-container *ngFor="let column of columns" [matColumnDef]="column.columnDef"> <ng-container *ngFor="let column of columns" [matColumnDef]="column.columnDef">
<th mat-header-cell *matHeaderCellDef> {{ column.header }} </th> <th mat-header-cell *matHeaderCellDef> {{ column.header }} </th>
<td mat-cell *matCellDef="let client"> <td mat-cell *matCellDef="let client">
<ng-container *ngIf="column.columnDef === 'status'"> <ng-container *ngIf="column.columnDef === 'status'">
<img [src]="'assets/images/ordenador_' + client.status + '.png'" alt="Client Icon" <img [src]="'assets/images/ordenador_' + client.status + '.png'" alt="Client Icon" class="client-image" />
class="client-image" />
</ng-container> </ng-container>
<ng-container *ngIf="column.columnDef === 'ogLive'"> <ng-container *ngIf="column.columnDef === 'ogLive'">
@ -62,9 +65,9 @@
</table> </table>
<div class="paginator-container" joyrideStep="paginationStep" <div class="paginator-container" joyrideStep="paginationStep"
text="Navega entre las páginas de subredes usando el paginador."> text="Navega entre las páginas de subredes usando el paginador.">
<mat-paginator [length]="length" [pageSize]="itemsPerPage" [pageIndex]="page" [pageSizeOptions]="pageSizeOptions" <mat-paginator [length]="length" [pageSize]="itemsPerPage" [pageIndex]="page" [pageSizeOptions]="pageSizeOptions"
(page)="onPageChange($event)"> (page)="onPageChange($event)">
</mat-paginator> </mat-paginator>
</div> </div>

View File

@ -1,22 +1,22 @@
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ShowClientsComponent } from './show-clients.component'; import { ShowClientsComponent } from './show-clients.component';
import {MatExpansionModule} from "@angular/material/expansion"; import { MatExpansionModule } from "@angular/material/expansion";
import {MatIconModule} from "@angular/material/icon"; import { MatIconModule } from "@angular/material/icon";
import {MatDividerModule} from "@angular/material/divider"; import { MatDividerModule } from "@angular/material/divider";
import {MatFormFieldModule} from "@angular/material/form-field"; import { MatFormFieldModule } from "@angular/material/form-field";
import {MatSelectModule} from "@angular/material/select"; import { MatSelectModule } from "@angular/material/select";
import {MatPaginatorModule} from "@angular/material/paginator"; import { MatPaginatorModule } from "@angular/material/paginator";
import {BrowserAnimationsModule} from "@angular/platform-browser/animations"; import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import {FormsModule} from "@angular/forms"; import { FormsModule } from "@angular/forms";
import {MatInputModule} from "@angular/material/input"; import { MatInputModule } from "@angular/material/input";
import {MatTableModule} from "@angular/material/table"; import { MatTableModule } from "@angular/material/table";
import {TranslateModule} from "@ngx-translate/core"; import { TranslateModule } from "@ngx-translate/core";
import {JoyrideModule} from "ngx-joyride"; import { JoyrideModule } from "ngx-joyride";
import {MatDialog, MatDialogModule, MatDialogRef} from "@angular/material/dialog"; import { MatDialog, MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
import {HttpClient} from "@angular/common/http"; import { HttpClient } from "@angular/common/http";
import {ToastrService} from "ngx-toastr"; import { ToastrService } from "ngx-toastr";
import {of} from "rxjs"; import { of } from "rxjs";
import { LoadingComponent } from '../../../shared/loading/loading.component';
describe('ShowClientsComponent', () => { describe('ShowClientsComponent', () => {
let component: ShowClientsComponent; let component: ShowClientsComponent;
@ -33,7 +33,7 @@ describe('ShowClientsComponent', () => {
mockHttpClient.post.and.returnValue(of({})); mockHttpClient.post.and.returnValue(of({}));
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
declarations: [ShowClientsComponent], declarations: [ShowClientsComponent, LoadingComponent],
imports: [ imports: [
MatExpansionModule, MatExpansionModule,
MatIconModule, MatIconModule,
@ -53,13 +53,11 @@ describe('ShowClientsComponent', () => {
{ provide: MatDialog, useValue: mockDialog }, { provide: MatDialog, useValue: mockDialog },
{ provide: HttpClient, useValue: mockHttpClient }, { provide: HttpClient, useValue: mockHttpClient },
{ provide: ToastrService, useValue: mockToastrService }, { provide: ToastrService, useValue: mockToastrService },
{ { provide: MatDialogRef, useValue: {} },
provide: MatDialogRef, { provide: MAT_DIALOG_DATA, useValue: {} },
useValue: {}
},
], ],
}) })
.compileComponents(); .compileComponents();
fixture = TestBed.createComponent(ShowClientsComponent); fixture = TestBed.createComponent(ShowClientsComponent);
component = fixture.componentInstance; component = fixture.componentInstance;

View File

@ -1,10 +1,10 @@
import {Component, Inject, OnInit} from '@angular/core'; import { Component, Inject, OnInit } from '@angular/core';
import {ToastrService} from "ngx-toastr"; import { ToastrService } from "ngx-toastr";
import {HttpClient} from "@angular/common/http"; import { HttpClient } from "@angular/common/http";
import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from "@angular/material/dialog"; import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from "@angular/material/dialog";
import {MatTableDataSource} from "@angular/material/table"; import { MatTableDataSource } from "@angular/material/table";
import {Subnet} from "../og-dhcp-subnets.component"; import { Subnet } from "../og-dhcp-subnets.component";
import {Client} from "../../groups/model/model"; import { Client } from "../../groups/model/model";
@Component({ @Component({
selector: 'app-show-clients', selector: 'app-show-clients',