Skip to content

Commit 9493274

Browse files
committed
move await service.onModuleInit();
1 parent 72275f5 commit 9493274

File tree

2 files changed

+4
-66
lines changed

2 files changed

+4
-66
lines changed

src/infra/storage/storage.service.spec.ts

Lines changed: 1 addition & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -34,68 +34,14 @@ describe('StorageService', () => {
3434
}).compile();
3535

3636
service = moduleFixture.get(StorageService);
37+
await service.onModuleInit();
3738
client = moduleFixture.get(Client);
3839
});
3940

4041
beforeEach(() => {
4142
jest.resetAllMocks();
4243
});
4344

44-
describe('onModuleInit', () => {
45-
describe('when makeBucket resolves', () => {
46-
it('should call makeBucket', async () => {
47-
await service.onModuleInit();
48-
49-
expect(client.makeBucket).toHaveBeenCalledWith(bucketName);
50-
});
51-
});
52-
53-
describe('when makeBucket rejects with BucketAlreadyOwnedByYou', () => {
54-
const setup = () => {
55-
const error = new Error();
56-
// @ts-ignore
57-
error.code = 'BucketAlreadyOwnedByYou';
58-
client.makeBucket.mockRejectedValueOnce(error);
59-
};
60-
61-
it('should not throw an error', async () => {
62-
setup();
63-
64-
await expect(service.onModuleInit()).resolves.not.toThrow();
65-
});
66-
});
67-
68-
describe('when makeBucket rejects with BucketAlreadyExists', () => {
69-
const setup = () => {
70-
const error = new Error();
71-
// @ts-ignore
72-
error.code = 'BucketAlreadyExists';
73-
client.makeBucket.mockRejectedValueOnce(error);
74-
};
75-
76-
it('should not throw an error', async () => {
77-
setup();
78-
79-
await expect(service.onModuleInit()).resolves.not.toThrow();
80-
});
81-
});
82-
83-
describe('when makeBucket rejects with other error', () => {
84-
const setup = () => {
85-
const error = new Error('other error');
86-
client.makeBucket.mockRejectedValueOnce(error);
87-
88-
return { error };
89-
};
90-
91-
it('should throw an error', async () => {
92-
const { error } = setup();
93-
94-
await expect(service.onModuleInit()).rejects.toThrow(error);
95-
});
96-
});
97-
});
98-
9945
describe('persistDoc', () => {
10046
describe('when putObject resolves', () => {
10147
const setup = () => {

src/infra/storage/storage.service.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,10 @@ export class StorageService implements DocumentStorage, OnModuleInit {
2929
}
3030

3131
public async onModuleInit(): Promise<void> {
32-
try {
32+
const bucketExists = await this.client.bucketExists(this.config.S3_BUCKET);
33+
34+
if (!bucketExists) {
3335
await this.client.makeBucket(this.config.S3_BUCKET);
34-
} catch (err: unknown) {
35-
if (
36-
err &&
37-
typeof err === 'object' &&
38-
'code' in err &&
39-
(err.code === 'BucketAlreadyOwnedByYou' || err.code === 'BucketAlreadyExists')
40-
) {
41-
return;
42-
}
43-
throw err;
4436
}
4537
}
4638

0 commit comments

Comments
 (0)