All files / expertise expertise.service.ts

100% Statements 38/38
83.33% Branches 5/6
100% Functions 4/4
100% Lines 38/38

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 391x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 1x 1x 1x 1x 1x 3x 3x 3x 1x 1x 1x 1x 1x 1x 2x 2x 2x 1x 1x 1x 1x 1x 1x  
import { Injectable } from "@nestjs/common";
import { Repository } from "typeorm";
import { Expertise } from "./entities/expertise.entity";
import { InjectRepository } from "@nestjs/typeorm";
 
export type ExpertiseError = 
    | "EXPERTISE DOESNT EXIST";
 
export class ExpertiseException extends Error {
    name: ExpertiseError;
 
    constructor(name: ExpertiseError) {
        super();
        this.name = name;
    }
}
 
@Injectable()
export class ExpertiseService {
    constructor(
        @InjectRepository(Expertise)
        private expertiseRepository: Repository<Expertise>,
    ) { }
 
    async findAll() {
        return this.expertiseRepository.find();
    }
 
    async findOne(title: string) {
        const expertise = await this.expertiseRepository.findOneBy({ title });
 
        if (expertise) {
            return expertise;
        }
 
        throw new ExpertiseException("EXPERTISE DOESNT EXIST");
    }
}