Skip to content

Commit 1e47520

Browse files
test: update tests to support more recent style
1 parent a4018af commit 1e47520

19 files changed

+142
-138
lines changed

.vscode/launch.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"name": "vscode-jest-tests",
77
"request": "launch",
88
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
9-
"args": ["--runInBand", "--config", "${workspaceFolder}/projects/hyperdash-angular/jest.config.debug.js"],
9+
"args": ["--runInBand", "--config", "${workspaceFolder}/jest.config.debug.js"],
1010
"cwd": "${workspaceFolder}",
1111
"console": "integratedTerminal",
1212
"internalConsoleOptions": "neverOpen"

angular.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"index": "src/index.html",
2323
"main": "src/main.ts",
2424
"polyfills": "src/polyfills.ts",
25-
"tsConfig": "src/tsconfig.app.json",
25+
"tsConfig": "tsconfig.app.json",
2626
"assets": ["src/favicon.ico", "src/assets"],
2727
"styles": ["src/styles.scss"],
2828
"scripts": []
@@ -84,7 +84,7 @@
8484
"lint": {
8585
"builder": "@angular-devkit/build-angular:tslint",
8686
"options": {
87-
"tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
87+
"tsConfig": ["tsconfig.app.json", "tsconfig.spec.json"],
8888
"exclude": ["**/node_modules/**"]
8989
}
9090
}

jest.config.debug.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module.exports = {
2+
preset: 'jest-preset-angular',
3+
modulePathIgnorePatterns: ['<rootDir>/dist/'],
4+
watchPathIgnorePatterns: ['test-results'],
5+
moduleNameMapper: {
6+
'^lodash-es$': 'lodash',
7+
'^@hypertrace/hyperdash-angular$': '<rootDir>/projects/hyperdash-angular/src/public_api.ts'
8+
},
9+
setupFilesAfterEnv: ['<rootDir>/node_modules/@angular-builders/jest/dist/jest-config/setup.js'],
10+
testMatch: ['<rootDir>/**/+(*.)+(spec|test).+(ts|js)?(x)']
11+
};

jest.config.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
module.exports = {
2-
globals: {
3-
'ts-jest': {
4-
tsConfig: '<rootDir>/src/tsconfig.spec.json'
5-
}
6-
},
72
reporters: [
83
'default',
94
[

projects/hyperdash-angular/jest.config.debug.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

projects/hyperdash-angular/src/configuration/default-configuration.service.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ describe('Default configuration service', () => {
3333
]
3434
});
3535

36-
defaultConfigurationService = TestBed.get(DefaultConfigurationService);
37-
logger = TestBed.get(LoggerService);
36+
defaultConfigurationService = TestBed.inject(DefaultConfigurationService);
37+
logger = TestBed.inject(LoggerService);
3838
const errorSpy = jest.spyOn(logger, 'error');
3939
errorSpy.mockImplementation(
4040
message =>
@@ -49,10 +49,10 @@ describe('Default configuration service', () => {
4949
});
5050

5151
test('correctly configures deserialization', () => {
52-
const deserializationManager = TestBed.get(DeserializationManagerService) as DeserializationManagerService;
53-
const modelLibrary = TestBed.get(ModelLibraryService) as ModelLibraryService;
52+
const deserializationManager = TestBed.inject(DeserializationManagerService);
53+
const modelLibrary = TestBed.inject(ModelLibraryService);
5454

55-
(TestBed.get(ModelPropertyValidatorService) as ModelPropertyValidatorService).setStrictSchema(false);
55+
TestBed.inject(ModelPropertyValidatorService).setStrictSchema(false);
5656
const testModel = class ModelClass {
5757
public constructor(public prop: unknown) {}
5858
};
@@ -97,8 +97,8 @@ describe('Default configuration service', () => {
9797
});
9898

9999
test('correctly configures deserialization and setting of variables', () => {
100-
const deserializationManager = TestBed.get(DeserializationManagerService) as DeserializationManagerService;
101-
const modelLibrary = TestBed.get(ModelLibraryService) as ModelLibraryService;
100+
const deserializationManager = TestBed.inject(DeserializationManagerService);
101+
const modelLibrary = TestBed.inject(ModelLibraryService);
102102

103103
const testModel = class ModelClass {
104104
public constructor(public prop?: number) {}
@@ -121,7 +121,7 @@ describe('Default configuration service', () => {
121121

122122
expect(deserializedModel).toEqual(new testModel());
123123

124-
(TestBed.get(VariableManagerService) as VariableManagerService).set('test', 42, deserializedModel);
124+
TestBed.inject(VariableManagerService).set('test', 42, deserializedModel);
125125

126126
expect(deserializedModel).toEqual(new testModel(42));
127127
});
@@ -135,9 +135,9 @@ describe('Default configuration service', () => {
135135
});
136136

137137
test('correctly configures serialization', () => {
138-
const serializationManager = TestBed.get(SerializationManagerService) as SerializationManagerService;
139-
const modelLibrary = TestBed.get(ModelLibraryService) as ModelLibraryService;
140-
const modelManager = TestBed.get(ModelManagerService) as ModelManagerService;
138+
const serializationManager = TestBed.inject(SerializationManagerService);
139+
const modelLibrary = TestBed.inject(ModelLibraryService);
140+
const modelManager = TestBed.inject(ModelManagerService);
141141

142142
const testModel = class {
143143
public constructor(public prop?: unknown[]) {}
@@ -170,7 +170,7 @@ describe('Default configuration service', () => {
170170
});
171171

172172
test('registers provided property types', () => {
173-
const propertyTypeLibrary = TestBed.get(ModelPropertyTypeLibraryService) as ModelPropertyTypeLibraryService;
173+
const propertyTypeLibrary = TestBed.inject(ModelPropertyTypeLibraryService);
174174
propertyTypeLibrary.registerPropertyType = jest.fn();
175175
defaultConfigurationService.configure();
176176
expect(propertyTypeLibrary.registerPropertyType).toHaveBeenCalledWith({ type: 'test-property' });

projects/hyperdash-angular/src/editor/model-json/model-json-editor.component.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ describe('Model JSON editor component', () => {
6969
imports: [DashboardEditorModule, TestDashboardModule]
7070
});
7171

72-
(TestBed.get(DefaultConfigurationService) as DefaultConfigurationService).configure();
72+
TestBed.inject(DefaultConfigurationService).configure();
7373
host = TestBed.createComponent(HostComponent);
7474
host.detectChanges();
7575
});
@@ -124,7 +124,7 @@ describe('Model JSON editor component', () => {
124124
test('destroys models when a new json object is provided', () => {
125125
const destroySpy = jest.fn();
126126

127-
(TestBed.get(ModelDestroyedEventService) as ModelDestroyedEventService).getObservable().subscribe(destroySpy);
127+
TestBed.inject(ModelDestroyedEventService).getObservable().subscribe(destroySpy);
128128

129129
host.componentInstance.modelJson = {
130130
type: 'test-model',

projects/hyperdash-angular/src/editor/model/model-editor.component.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ describe('Model editor component', () => {
4343
imports: [DashboardEditorModule, moduleWithEntryComponents(PropEditorComponent)]
4444
});
4545

46-
mockModelEditorService = TestBed.get(ModelEditorService);
46+
mockModelEditorService = TestBed.inject(ModelEditorService);
4747
mockModelEditorService.getRenderData = jest.fn().mockReturnValue([
4848
{
4949
component: PropEditorComponent,
50-
injector: TestBed.get(Injector)
50+
injector: TestBed.inject(Injector)
5151
}
5252
]);
5353

projects/hyperdash-angular/src/injectable-wrappers/injectable-wrappers.test.ts

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -78,48 +78,48 @@ import { VariableManagerService } from './variable-manager.service';
7878

7979
describe('Injectable wrappers', () => {
8080
test('should correctly register providers', () => {
81-
expect(TestBed.get(ModelLibraryService) instanceof ModelLibrary).toBeTruthy();
82-
expect(TestBed.get(RendererLibraryService) instanceof RendererLibrary).toBeTruthy();
83-
expect(TestBed.get(ModelDeserializerService) instanceof ModelDeserializer).toBeTruthy();
84-
expect(TestBed.get(ArrayDeserializerService) instanceof ArrayDeserializer).toBeTruthy();
85-
expect(TestBed.get(ObjectDeserializerService) instanceof ObjectDeserializer).toBeTruthy();
86-
expect(TestBed.get(PrimitiveDeserializerService) instanceof PrimitiveDeserializer).toBeTruthy();
87-
expect(TestBed.get(DeserializationManagerService) instanceof DeserializationManager).toBeTruthy();
88-
expect(TestBed.get(ModelManagerService) instanceof ModelManager).toBeTruthy();
89-
expect(TestBed.get(DashboardManagerService) instanceof DashboardManager).toBeTruthy();
90-
expect(TestBed.get(DataSourceManagerService) instanceof DataSourceManagerService).toBeTruthy();
91-
expect(TestBed.get(LoggerService) instanceof Logger).toBeTruthy();
92-
expect(TestBed.get(ModelPropertyTypeLibraryService) instanceof ModelPropertyTypeLibrary).toBeTruthy();
93-
expect(TestBed.get(VariableManagerService) instanceof VariableManager).toBeTruthy();
94-
expect(TestBed.get(VariableDeserializerService) instanceof VariableDeserializer).toBeTruthy();
95-
expect(TestBed.get(DashboardEventManagerService) instanceof DashboardEventManager).toBeTruthy();
96-
expect(TestBed.get(DefaultModelApiBuilderService) instanceof DefaultModelApiBuilder).toBeTruthy();
97-
expect(TestBed.get(ModelCreatedEventService) instanceof ModelCreatedEvent).toBeTruthy();
98-
expect(TestBed.get(ModelDestroyedEventService) instanceof ModelDestroyedEvent).toBeTruthy();
99-
expect(TestBed.get(ModelPropertyValidatorService) instanceof ModelPropertyValidator).toBeTruthy();
100-
expect(TestBed.get(ModelChangedEventService) instanceof ModelChangedEvent).toBeTruthy();
101-
expect(TestBed.get(ThemeManagerService) instanceof ThemeManager).toBeTruthy();
102-
expect(TestBed.get(ModelEventInstallerService) instanceof ModelEventInstaller).toBeTruthy();
103-
expect(TestBed.get(ModelSerializerService) instanceof ModelSerializer).toBeTruthy();
104-
expect(TestBed.get(ArraySerializerService) instanceof ArraySerializer).toBeTruthy();
105-
expect(TestBed.get(ObjectSerializerService) instanceof ObjectSerializer).toBeTruthy();
106-
expect(TestBed.get(PrimitiveSerializerService) instanceof PrimitiveSerializer).toBeTruthy();
107-
expect(TestBed.get(SerializationManagerService) instanceof SerializationManager).toBeTruthy();
108-
expect(TestBed.get(VariableSerializerService) instanceof VariableSerializer).toBeTruthy();
109-
expect(TestBed.get(EditorLibraryService) instanceof EditorLibrary).toBeTruthy();
110-
expect(TestBed.get(EditorApiFactoryService) instanceof EditorApiFactory).toBeTruthy();
111-
expect(TestBed.get(ModelPropertyTypeService) instanceof ModelPropertyType).toBeTruthy();
112-
expect(TestBed.get(DataRefreshEventService) instanceof DataRefreshEvent).toBeTruthy();
113-
expect(TestBed.get(TimeRangeChangedEventService) instanceof TimeRangeChangedEvent).toBeTruthy();
114-
expect(TestBed.get(TimeRangeManagerService) instanceof TimeRangeManager).toBeTruthy();
81+
expect(TestBed.inject(ModelLibraryService) instanceof ModelLibrary).toBeTruthy();
82+
expect(TestBed.inject(RendererLibraryService) instanceof RendererLibrary).toBeTruthy();
83+
expect(TestBed.inject(ModelDeserializerService) instanceof ModelDeserializer).toBeTruthy();
84+
expect(TestBed.inject(ArrayDeserializerService) instanceof ArrayDeserializer).toBeTruthy();
85+
expect(TestBed.inject(ObjectDeserializerService) instanceof ObjectDeserializer).toBeTruthy();
86+
expect(TestBed.inject(PrimitiveDeserializerService) instanceof PrimitiveDeserializer).toBeTruthy();
87+
expect(TestBed.inject(DeserializationManagerService) instanceof DeserializationManager).toBeTruthy();
88+
expect(TestBed.inject(ModelManagerService) instanceof ModelManager).toBeTruthy();
89+
expect(TestBed.inject(DashboardManagerService) instanceof DashboardManager).toBeTruthy();
90+
expect(TestBed.inject(DataSourceManagerService) instanceof DataSourceManagerService).toBeTruthy();
91+
expect(TestBed.inject(LoggerService) instanceof Logger).toBeTruthy();
92+
expect(TestBed.inject(ModelPropertyTypeLibraryService) instanceof ModelPropertyTypeLibrary).toBeTruthy();
93+
expect(TestBed.inject(VariableManagerService) instanceof VariableManager).toBeTruthy();
94+
expect(TestBed.inject(VariableDeserializerService) instanceof VariableDeserializer).toBeTruthy();
95+
expect(TestBed.inject(DashboardEventManagerService) instanceof DashboardEventManager).toBeTruthy();
96+
expect(TestBed.inject(DefaultModelApiBuilderService) instanceof DefaultModelApiBuilder).toBeTruthy();
97+
expect(TestBed.inject(ModelCreatedEventService) instanceof ModelCreatedEvent).toBeTruthy();
98+
expect(TestBed.inject(ModelDestroyedEventService) instanceof ModelDestroyedEvent).toBeTruthy();
99+
expect(TestBed.inject(ModelPropertyValidatorService) instanceof ModelPropertyValidator).toBeTruthy();
100+
expect(TestBed.inject(ModelChangedEventService) instanceof ModelChangedEvent).toBeTruthy();
101+
expect(TestBed.inject(ThemeManagerService) instanceof ThemeManager).toBeTruthy();
102+
expect(TestBed.inject(ModelEventInstallerService) instanceof ModelEventInstaller).toBeTruthy();
103+
expect(TestBed.inject(ModelSerializerService) instanceof ModelSerializer).toBeTruthy();
104+
expect(TestBed.inject(ArraySerializerService) instanceof ArraySerializer).toBeTruthy();
105+
expect(TestBed.inject(ObjectSerializerService) instanceof ObjectSerializer).toBeTruthy();
106+
expect(TestBed.inject(PrimitiveSerializerService) instanceof PrimitiveSerializer).toBeTruthy();
107+
expect(TestBed.inject(SerializationManagerService) instanceof SerializationManager).toBeTruthy();
108+
expect(TestBed.inject(VariableSerializerService) instanceof VariableSerializer).toBeTruthy();
109+
expect(TestBed.inject(EditorLibraryService) instanceof EditorLibrary).toBeTruthy();
110+
expect(TestBed.inject(EditorApiFactoryService) instanceof EditorApiFactory).toBeTruthy();
111+
expect(TestBed.inject(ModelPropertyTypeService) instanceof ModelPropertyType).toBeTruthy();
112+
expect(TestBed.inject(DataRefreshEventService) instanceof DataRefreshEvent).toBeTruthy();
113+
expect(TestBed.inject(TimeRangeChangedEventService) instanceof TimeRangeChangedEvent).toBeTruthy();
114+
expect(TestBed.inject(TimeRangeManagerService) instanceof TimeRangeManager).toBeTruthy();
115115
});
116116

117117
test('support model decorators', () => {
118118
@Model({ type: 'test-model-decorator' })
119119
class TestModelDecoratorClass {}
120120

121121
expect(
122-
(TestBed.get(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestModelDecoratorClass)
122+
(TestBed.inject(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestModelDecoratorClass)
123123
).toMatchObject({
124124
type: 'test-model-decorator'
125125
});
@@ -129,7 +129,7 @@ describe('Injectable wrappers', () => {
129129
class TestLateModelDecoratorClass {}
130130

131131
expect(
132-
(TestBed.get(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestLateModelDecoratorClass)
132+
(TestBed.inject(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestLateModelDecoratorClass)
133133
).toMatchObject({
134134
type: 'test-late-model-decorator'
135135
});
@@ -141,7 +141,7 @@ describe('Injectable wrappers', () => {
141141
@Renderer({ modelClass: modelClass })
142142
class TestRendererDecoratorClass {}
143143

144-
expect((TestBed.get(RendererLibraryService) as RendererLibrary).lookupRenderer(modelClass)).toBe(
144+
expect((TestBed.inject(RendererLibraryService) as RendererLibrary).lookupRenderer(modelClass)).toBe(
145145
TestRendererDecoratorClass
146146
);
147147

@@ -151,7 +151,7 @@ describe('Injectable wrappers', () => {
151151
@Renderer({ modelClass: secondModelClass })
152152
class TestSecondRendererDecoratorClass {}
153153

154-
expect((TestBed.get(RendererLibraryService) as RendererLibrary).lookupRenderer(secondModelClass)).toBe(
154+
expect((TestBed.inject(RendererLibraryService) as RendererLibrary).lookupRenderer(secondModelClass)).toBe(
155155
TestSecondRendererDecoratorClass
156156
);
157157
});
@@ -180,7 +180,7 @@ describe('Injectable wrappers', () => {
180180
public booleanProp?: boolean;
181181
}
182182

183-
expect((TestBed.get(EditorLibraryService) as EditorLibrary).getEditorData(TestModelClass)).toMatchObject({
183+
expect((TestBed.inject(EditorLibraryService) as EditorLibrary).getEditorData(TestModelClass)).toMatchObject({
184184
title: 'Test Model',
185185
subeditors: [
186186
{
@@ -193,7 +193,7 @@ describe('Injectable wrappers', () => {
193193
@ModelPropertyEditor({ propertyType: BOOLEAN_PROPERTY.type })
194194
class LateTestEditorClass {}
195195

196-
expect((TestBed.get(EditorLibraryService) as EditorLibrary).getEditorData(TestModelClass)).toMatchObject({
196+
expect((TestBed.inject(EditorLibraryService) as EditorLibrary).getEditorData(TestModelClass)).toMatchObject({
197197
title: 'Test Model',
198198
subeditors: [
199199
{

projects/hyperdash-angular/src/injectable-wrappers/model-event-installer.service.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ describe('Model event installer service', () => {
1515
TestBed.configureTestingModule({
1616
providers: [{ provide: eventKeyInjectionToken, useValue: eventKey }]
1717
});
18-
modelEventInstallerService = TestBed.get(ModelEventInstallerService);
18+
modelEventInstallerService = TestBed.inject(ModelEventInstallerService);
1919
});
2020

2121
test('should support injecting event keys', () => {
22-
const dashEventManagerService: DashboardEventManagerService = TestBed.get(DashboardEventManagerService);
22+
const dashEventManagerService: DashboardEventManagerService = TestBed.inject(DashboardEventManagerService);
2323
dashEventManagerService.publishEvent = jest.fn();
2424

2525
class TestModelClass {

projects/hyperdash-angular/src/module/dashboard-core.module.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ describe('Dashboard core module', () => {
2828
]
2929
});
3030

31-
expect(TestBed.get(MODEL_PROPERTY_TYPES)).toContainEqual([testPropType, testPropType2, PropertyTypeProvider]);
31+
expect(TestBed.inject(MODEL_PROPERTY_TYPES)).toContainEqual([testPropType, testPropType2, PropertyTypeProvider]);
3232
});
3333
});

projects/hyperdash-angular/src/rendering/dashboard-model.directive.test.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
import { Component, Input } from '@angular/core';
2-
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2+
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
33
import { DashboardModelDirective } from './dashboard-model.directive';
44
import { DashboardRendererService } from './dashboard-renderer.service';
55

66
describe('DashboardModelDirective', () => {
77
let dashboardRendererService: DashboardRendererService;
88
let host: ComponentFixture<HostComponent>;
99

10-
beforeEach(async(() => {
11-
TestBed.configureTestingModule({
12-
providers: [{ provide: DashboardRendererService, useValue: {} }],
13-
declarations: [HostComponent, DashboardModelDirective]
14-
}).compileComponents();
10+
beforeEach(
11+
waitForAsync(() => {
12+
TestBed.configureTestingModule({
13+
providers: [{ provide: DashboardRendererService, useValue: {} }],
14+
declarations: [HostComponent, DashboardModelDirective]
15+
}).compileComponents();
1516

16-
dashboardRendererService = TestBed.get(DashboardRendererService);
17-
dashboardRendererService.renderInViewContainer = jest.fn();
17+
dashboardRendererService = TestBed.inject(DashboardRendererService);
18+
dashboardRendererService.renderInViewContainer = jest.fn();
1819

19-
host = TestBed.createComponent(HostComponent);
20-
}));
20+
host = TestBed.createComponent(HostComponent);
21+
})
22+
);
2123

2224
test('passes initial value to renderer service', () => {
2325
expect(dashboardRendererService.renderInViewContainer).not.toHaveBeenCalled();

0 commit comments

Comments
 (0)