Skip to content

Commit

Permalink
Retrait du champs « Type » du model UserListEtablissement (#658)
Browse files Browse the repository at this point in the history
  • Loading branch information
yelhouakmi authored Jan 30, 2025
1 parent a22a51f commit 7704863
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 29 deletions.
27 changes: 13 additions & 14 deletions database/migrations/1736865415982-AjoutListEtEtsList.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MigrationInterface, QueryRunner } from "typeorm"

export class AjoutListEtEtsList1736865415982 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
CREATE TABLE user_list (
list_id SERIAL PRIMARY KEY ,
ut_id uuid NOT NULL,
Expand All @@ -13,29 +13,28 @@ export class AjoutListEtEtsList1736865415982 implements MigrationInterface {
)
`);

await queryRunner.query(`
await queryRunner.query(`
CREATE TABLE user_list_etablissement (
list_id INT NOT NULL,
numero_finess VARCHAR(9) NOT NULL,
type_etablissement VARCHAR(255),
numero_finess VARCHAR(9) NOT NULL,
date_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT user_list_etablissement_pk PRIMARY KEY (list_id, numero_finess)
)
`);
await queryRunner.query(`
await queryRunner.query(`
INSERT into user_list(ut_id, list_nom, is_favori)
select distinct user_id, 'Favoris', true from favori;
`);
await queryRunner.query(`
INSERT into user_list_etablissement(list_id, numero_finess, type_etablissement)
select list_id, finess_number as numero_finess, type as type_etablissement from favori
await queryRunner.query(`
INSERT into user_list_etablissement(list_id, numero_finess)
select list_id, finess_number as numero_finess from favori
left join user_list on user_list.ut_id = favori.user_id;
`);
}
}

public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP TABLE user_list_etablissement`);
await queryRunner.query(`DROP TABLE user_list`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP TABLE user_list_etablissement`);
await queryRunner.query(`DROP TABLE user_list`);
}

}
5 changes: 1 addition & 4 deletions database/models/UserListEtablissementModel.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Entity, Column, ManyToOne, JoinColumn, PrimaryColumn, CreateDateColumn } from "typeorm";
import { CreateDateColumn, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";

import { UserListModel } from "./UserListModel";

Expand All @@ -10,9 +10,6 @@ export class UserListEtablissementModel {
@PrimaryColumn({ name: "numero_finess" })
public finessNumber!: string;

@Column({ name: 'type_etablissement' })
public typeEtablissement!: string;

@CreateDateColumn({ name: "date_creation" })
public dateCreation!: Date;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,28 +92,25 @@ describe("La recherche des etablissements dans une liste", () => {
const userListEtablissementLoader = new TypeOrmUserListEtablissementLoader(orm);

const finess = "finess";
const typeEtablissement = "type";

// WHEN
await userListEtablissementLoader.create(userUuid, listId, finess, typeEtablissement);
await userListEtablissementLoader.create(userUuid, listId, finess);

// THEN
const list = await userListRepository.findOneByOrFail({ id: listId });
expect(list).not.toBeNull();
expect(list?.userListEtablissements).toHaveLength(1);
expect(list?.userListEtablissements[0].finessNumber).toEqual(finess);
expect(list?.userListEtablissements[0].typeEtablissement).toEqual(typeEtablissement);
});

it("n’ajoute pas un etablissement à une liste d’un autre utilisateur", async () => {
// GIVEN
const userListEtablissementLoader = new TypeOrmUserListEtablissementLoader(orm);

const finess = "finess";
const typeEtablissement = "type";

// WHEN
await userListEtablissementLoader.create(otherUserUuid, listId, finess, typeEtablissement);
await userListEtablissementLoader.create(otherUserUuid, listId, finess);

// THEN
const list = await userListRepository.findOneByOrFail({ id: listId });
Expand All @@ -130,8 +127,7 @@ describe("La recherche des etablissements dans une liste", () => {
const userListEtablissement = new UserListEtablissementModel();
userListEtablissement.listId = listId;
userListEtablissement.finessNumber = finess;
userListEtablissement.typeEtablissement = "type";


await userListEtablissementRepository.save(userListEtablissement);
let list = await userListRepository.findOneByOrFail({ id: listId });
expect(list).not.toBeNull();
Expand All @@ -155,8 +151,7 @@ describe("La recherche des etablissements dans une liste", () => {
const userListEtablissement = new UserListEtablissementModel();
userListEtablissement.listId = listId;
userListEtablissement.finessNumber = finess;
userListEtablissement.typeEtablissement = "type";


await userListEtablissementRepository.save(userListEtablissement);
let list = await userListRepository.findOneByOrFail({ id: listId });
expect(list).not.toBeNull();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@ import { UserListEtablissementLoader } from "../../../métier/gateways/UserListE
export class TypeOrmUserListEtablissementLoader implements UserListEtablissementLoader {
constructor(private readonly orm: Promise<DataSource>) { }

async create(userId: string, listId: number, finessNumber: string, typeEtablissement: string): Promise<void> {
async create(userId: string, listId: number, finessNumber: string): Promise<void> {
const userListEtablissementModel = new UserListEtablissementModel();
userListEtablissementModel.listId = listId;
userListEtablissementModel.finessNumber = finessNumber;
userListEtablissementModel.typeEtablissement = typeEtablissement;

const countList = await (await this.orm).getRepository(UserListModel).countBy({ id: listId, userId: userId });

Expand Down

0 comments on commit 7704863

Please sign in to comment.