Skip to content

Commit 03a820b

Browse files
committed
🤡 add mock files
1 parent 88a5513 commit 03a820b

File tree

6 files changed

+98
-2
lines changed

6 files changed

+98
-2
lines changed

src/app/core/mocks/file.mock.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { faker } from '@faker-js/faker';
2+
3+
import { File } from "@models/file.model";
4+
5+
import { getOneFolderMock } from './folder.mock';
6+
7+
export const getOneFileMock = (): File => ({
8+
name: faker.system.fileName(),
9+
cloudName: faker.system.fileName(),
10+
size: faker.datatype.number(),
11+
permision: [],
12+
owner: {
13+
email: faker.internet.email(),
14+
password: faker.internet.password(),
15+
name: faker.name.firstName(),
16+
surname: faker.name.lastName(),
17+
image: faker.image.avatar(),
18+
active: faker.datatype.boolean(),
19+
darkMode: faker.datatype.boolean(),
20+
createdAt: faker.date.past(),
21+
updatedAt: faker.date.past(),
22+
rootFolder: getOneFolderMock(),
23+
totalSpace: faker.datatype.number(),
24+
usedSpace: faker.datatype.number(),
25+
_id: faker.datatype.uuid(),
26+
},
27+
createdAt: faker.date.past(),
28+
updatedAt: faker.date.past(),
29+
folder: getOneFolderMock(),
30+
type: faker.system.fileType(),
31+
_id: faker.datatype.uuid(),
32+
color: faker.internet.color(),
33+
path: [],
34+
});
35+
36+
export const getManyFilesMock = (quantity: number): File[] => {
37+
return Array.from({ length: quantity }).map(() => getOneFileMock());
38+
};

src/app/core/mocks/folder.mock.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { faker } from '@faker-js/faker';
2+
3+
import { Folder } from '@models/folder.model';
4+
5+
import { getOneUserMock } from './user.mock';
6+
7+
export const getOneFolderMock = (): Folder => ({
8+
name: faker.system.fileName(),
9+
size: faker.datatype.number(),
10+
permission: [],
11+
owner: {
12+
email: faker.internet.email(),
13+
password: faker.internet.password(),
14+
name: faker.name.firstName(),
15+
surname: faker.name.lastName(),
16+
image: faker.image.avatar(),
17+
active: faker.datatype.boolean(),
18+
darkMode: faker.datatype.boolean(),
19+
createdAt: faker.date.past(),
20+
updatedAt: faker.date.past(),
21+
rootFolder: null,
22+
totalSpace: faker.datatype.number(),
23+
usedSpace: faker.datatype.number(),
24+
_id: faker.datatype.uuid(),
25+
},
26+
createdAt: faker.date.past(),
27+
updatedAt: faker.date.past(),
28+
parent: null,
29+
type: faker.system.fileType(),
30+
folders: [],
31+
files: [],
32+
color: faker.internet.color(),
33+
path: [],
34+
_id: faker.datatype.uuid(),
35+
__v: faker.datatype.number(),
36+
});

src/app/core/mocks/user.mock.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { faker } from '@faker-js/faker';
2+
3+
import { User } from '@models/user.model';
4+
5+
import { getOneFolderMock } from './folder.mock';
6+
7+
export const getOneUserMock = (): User => ({
8+
email: faker.internet.email(),
9+
password: faker.internet.password(),
10+
name: faker.name.firstName(),
11+
surname: faker.name.lastName(),
12+
image: faker.image.avatar(),
13+
active: faker.datatype.boolean(),
14+
darkMode: faker.datatype.boolean(),
15+
createdAt: faker.date.past(),
16+
updatedAt: faker.date.past(),
17+
rootFolder: getOneFolderMock(),
18+
totalSpace: faker.datatype.number(),
19+
usedSpace: faker.datatype.number(),
20+
_id: faker.datatype.uuid(),
21+
});

src/app/core/models/folder.model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export class Folder {
1010
owner: User;
1111
createdAt: Date;
1212
updatedAt: Date;
13-
parent: Folder;
13+
parent: Folder | null;
1414
type: string;
1515
folders: Folder[];
1616
files: File[];

src/app/core/models/user.model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export class User {
1010
darkMode: boolean;
1111
createdAt: Date;
1212
updatedAt: Date;
13-
rootFolder: Folder;
13+
rootFolder: Folder | null;
1414
totalSpace: number;
1515
usedSpace: number;
1616
_id?: string;

tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"@constants/*": [ "app/core/constants/*" ],
3535
"@pipes/*": [ "app/core/pipes/*" ],
3636
"@shared/*": [ "app/shared/*" ],
37+
"@mocks/*": [ "app/core/mocks/*" ]
3738
}
3839
},
3940
"angularCompilerOptions": {

0 commit comments

Comments
 (0)