Skip to content

Commit c3fecd9

Browse files
committed
ex-1: return Manager subclass when type is manager at createEmployee
1 parent 963371d commit c3fecd9

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/example-01/emplyees/factory/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Employee } from '..';
22
import { Engineer } from '../engineer';
3+
import { Manager } from '../manager';
34
import { Salesman } from '../salesman';
45

56
export const createEmployee = (name, type) => {
@@ -8,6 +9,8 @@ export const createEmployee = (name, type) => {
89
return new Engineer(name);
910
case 'salesman':
1011
return new Salesman(name);
12+
case 'manager':
13+
return new Manager(name);
1114
}
1215
return new Employee(name, type);
1316
};

src/example-01/emplyees/factory/index.test.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { createEmployee } from '.';
22
import { Engineer } from '../engineer';
33
import { Salesman } from '../salesman';
4+
import { Manager } from '../manager';
45

56
describe('createEmployee', () => {
67
it('should create an engineer', () => {
@@ -15,4 +16,10 @@ describe('createEmployee', () => {
1516
expect(employee.type).toBe('salesman');
1617
expect(employee instanceof Salesman).toBe(true);
1718
});
19+
20+
it('should create a manager', () => {
21+
const employee = createEmployee('Kaio', 'manager');
22+
expect(employee.type).toBe('manager');
23+
expect(employee instanceof Manager).toBe(true);
24+
});
1825
});

0 commit comments

Comments
 (0)