Skip to content

Commit 5488c0a

Browse files
committed
test: added unit test
1 parent 9841cfc commit 5488c0a

File tree

2 files changed

+44
-9
lines changed

2 files changed

+44
-9
lines changed

Diff for: packages/logger/src/Logger.ts

+12-7
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ class Logger extends Utility implements ClassThatLogs {
629629
* @private
630630
* @returns {boolean}
631631
*/
632-
private isValidLogLevel(logLevel?: LogLevel | string): logLevel is LogLevel {
632+
private isValidLogLevel(logLevel?: LogLevel | string): logLevel is Uppercase<LogLevel> {
633633
return typeof logLevel === 'string' && logLevel in this.logLevelThresholds;
634634
}
635635

@@ -748,20 +748,25 @@ class Logger extends Utility implements ClassThatLogs {
748748
* @returns {void}
749749
*/
750750
private setLogLevel(logLevel?: LogLevel): void {
751-
if (this.isValidLogLevel(logLevel)) {
752-
this.logLevel = logLevel?.toUpperCase() as Uppercase<LogLevel>;
751+
const constructorLogLevel = logLevel?.toUpperCase();
752+
if (this.isValidLogLevel(constructorLogLevel)) {
753+
this.logLevel = constructorLogLevel;
753754

754755
return;
755756
}
756-
const customConfigValue = this.getCustomConfigService()?.getLogLevel();
757+
const customConfigValue = this.getCustomConfigService()
758+
?.getLogLevel()
759+
?.toUpperCase();
757760
if (this.isValidLogLevel(customConfigValue)) {
758-
this.logLevel = customConfigValue?.toUpperCase() as Uppercase<LogLevel>;
761+
this.logLevel = customConfigValue;
759762

760763
return;
761764
}
762-
const envVarsValue = this.getEnvVarsService().getLogLevel();
765+
const envVarsValue = this.getEnvVarsService()
766+
?.getLogLevel()
767+
?.toUpperCase();
763768
if (this.isValidLogLevel(envVarsValue)) {
764-
this.logLevel = envVarsValue?.toUpperCase() as Uppercase<LogLevel>;
769+
this.logLevel = envVarsValue;
765770

766771
return;
767772
}

Diff for: packages/logger/tests/unit/helpers.test.ts

+32-2
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,10 @@ describe('Helper: createLogger function', () => {
199199
}));
200200
});
201201

202-
test('when a custom logLevel is passed, returns a Logger instance with the correct properties', () => {
202+
test('when a custom uppercase logLevel is passed, returns a Logger instance with the correct properties', () => {
203203

204204
// Prepare
205-
const loggerOptions:ConstructorOptions = {
205+
const loggerOptions: ConstructorOptions = {
206206
logLevel: 'ERROR',
207207
};
208208

@@ -225,6 +225,36 @@ describe('Helper: createLogger function', () => {
225225
logLevel: 'ERROR',
226226
logFormatter: expect.any(PowertoolLogFormatter),
227227
}));
228+
229+
});
230+
231+
test('when a custom lowercase logLevel is passed, returns a Logger instance with the correct properties', () => {
232+
233+
// Prepare
234+
const loggerOptions: ConstructorOptions = {
235+
logLevel: 'warn',
236+
};
237+
238+
// Act
239+
const logger = createLogger(loggerOptions);
240+
241+
// Assess
242+
expect(logger).toBeInstanceOf(Logger);
243+
expect(logger).toEqual(expect.objectContaining({
244+
logsSampled: false,
245+
persistentLogAttributes: {},
246+
powertoolLogData: {
247+
sampleRateValue: undefined,
248+
awsRegion: 'eu-west-1',
249+
environment: '',
250+
serviceName: 'hello-world',
251+
},
252+
envVarsService: expect.any(EnvironmentVariablesService),
253+
customConfigService: undefined,
254+
logLevel: 'WARN',
255+
logFormatter: expect.any(PowertoolLogFormatter),
256+
}));
257+
228258
});
229259

230260
test('when no log level is set, returns a Logger instance with INFO level', () => {

0 commit comments

Comments
 (0)