Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"name": "vscode-jest-tests",
"request": "launch",
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
"args": ["--runInBand", "--config", "${workspaceFolder}/projects/hyperdash-angular/jest.config.debug.js"],
"args": ["--runInBand", "--config", "${workspaceFolder}/jest.config.debug.js"],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
Expand Down
4 changes: 2 additions & 2 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"tsConfig": "tsconfig.app.json",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles.scss"],
"scripts": []
Expand Down Expand Up @@ -84,7 +84,7 @@
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
"tsConfig": ["tsconfig.app.json", "tsconfig.spec.json"],
"exclude": ["**/node_modules/**"]
}
}
Expand Down
11 changes: 11 additions & 0 deletions jest.config.debug.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = {
preset: 'jest-preset-angular',
modulePathIgnorePatterns: ['<rootDir>/dist/'],
watchPathIgnorePatterns: ['test-results'],
moduleNameMapper: {
'^lodash-es$': 'lodash',
'^@hypertrace/hyperdash-angular$': '<rootDir>/projects/hyperdash-angular/src/public_api.ts'
},
setupFilesAfterEnv: ['<rootDir>/node_modules/@angular-builders/jest/dist/jest-config/setup.js'],
testMatch: ['<rootDir>/**/+(*.)+(spec|test).+(ts|js)?(x)']
};
5 changes: 0 additions & 5 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
module.exports = {
globals: {
'ts-jest': {
tsConfig: '<rootDir>/src/tsconfig.spec.json'
}
},
reporters: [
'default',
[
Expand Down
11 changes: 0 additions & 11 deletions projects/hyperdash-angular/jest.config.debug.js

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ describe('Default configuration service', () => {
]
});

defaultConfigurationService = TestBed.get(DefaultConfigurationService);
logger = TestBed.get(LoggerService);
defaultConfigurationService = TestBed.inject(DefaultConfigurationService);
logger = TestBed.inject(LoggerService);
const errorSpy = jest.spyOn(logger, 'error');
errorSpy.mockImplementation(
message =>
Expand All @@ -49,10 +49,10 @@ describe('Default configuration service', () => {
});

test('correctly configures deserialization', () => {
const deserializationManager = TestBed.get(DeserializationManagerService) as DeserializationManagerService;
const modelLibrary = TestBed.get(ModelLibraryService) as ModelLibraryService;
const deserializationManager = TestBed.inject(DeserializationManagerService);
const modelLibrary = TestBed.inject(ModelLibraryService);

(TestBed.get(ModelPropertyValidatorService) as ModelPropertyValidatorService).setStrictSchema(false);
TestBed.inject(ModelPropertyValidatorService).setStrictSchema(false);
const testModel = class ModelClass {
public constructor(public prop: unknown) {}
};
Expand Down Expand Up @@ -97,8 +97,8 @@ describe('Default configuration service', () => {
});

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

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

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

(TestBed.get(VariableManagerService) as VariableManagerService).set('test', 42, deserializedModel);
TestBed.inject(VariableManagerService).set('test', 42, deserializedModel);

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

test('correctly configures serialization', () => {
const serializationManager = TestBed.get(SerializationManagerService) as SerializationManagerService;
const modelLibrary = TestBed.get(ModelLibraryService) as ModelLibraryService;
const modelManager = TestBed.get(ModelManagerService) as ModelManagerService;
const serializationManager = TestBed.inject(SerializationManagerService);
const modelLibrary = TestBed.inject(ModelLibraryService);
const modelManager = TestBed.inject(ModelManagerService);

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

test('registers provided property types', () => {
const propertyTypeLibrary = TestBed.get(ModelPropertyTypeLibraryService) as ModelPropertyTypeLibraryService;
const propertyTypeLibrary = TestBed.inject(ModelPropertyTypeLibraryService);
propertyTypeLibrary.registerPropertyType = jest.fn();
defaultConfigurationService.configure();
expect(propertyTypeLibrary.registerPropertyType).toHaveBeenCalledWith({ type: 'test-property' });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ describe('Model JSON editor component', () => {
imports: [DashboardEditorModule, TestDashboardModule]
});

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

(TestBed.get(ModelDestroyedEventService) as ModelDestroyedEventService).getObservable().subscribe(destroySpy);
TestBed.inject(ModelDestroyedEventService).getObservable().subscribe(destroySpy);

host.componentInstance.modelJson = {
type: 'test-model',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ describe('Model editor component', () => {
imports: [DashboardEditorModule, moduleWithEntryComponents(PropEditorComponent)]
});

mockModelEditorService = TestBed.get(ModelEditorService);
mockModelEditorService = TestBed.inject(ModelEditorService);
mockModelEditorService.getRenderData = jest.fn().mockReturnValue([
{
component: PropEditorComponent,
injector: TestBed.get(Injector)
injector: TestBed.inject(Injector)
}
]);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,48 +78,48 @@ import { VariableManagerService } from './variable-manager.service';

describe('Injectable wrappers', () => {
test('should correctly register providers', () => {
expect(TestBed.get(ModelLibraryService) instanceof ModelLibrary).toBeTruthy();
expect(TestBed.get(RendererLibraryService) instanceof RendererLibrary).toBeTruthy();
expect(TestBed.get(ModelDeserializerService) instanceof ModelDeserializer).toBeTruthy();
expect(TestBed.get(ArrayDeserializerService) instanceof ArrayDeserializer).toBeTruthy();
expect(TestBed.get(ObjectDeserializerService) instanceof ObjectDeserializer).toBeTruthy();
expect(TestBed.get(PrimitiveDeserializerService) instanceof PrimitiveDeserializer).toBeTruthy();
expect(TestBed.get(DeserializationManagerService) instanceof DeserializationManager).toBeTruthy();
expect(TestBed.get(ModelManagerService) instanceof ModelManager).toBeTruthy();
expect(TestBed.get(DashboardManagerService) instanceof DashboardManager).toBeTruthy();
expect(TestBed.get(DataSourceManagerService) instanceof DataSourceManagerService).toBeTruthy();
expect(TestBed.get(LoggerService) instanceof Logger).toBeTruthy();
expect(TestBed.get(ModelPropertyTypeLibraryService) instanceof ModelPropertyTypeLibrary).toBeTruthy();
expect(TestBed.get(VariableManagerService) instanceof VariableManager).toBeTruthy();
expect(TestBed.get(VariableDeserializerService) instanceof VariableDeserializer).toBeTruthy();
expect(TestBed.get(DashboardEventManagerService) instanceof DashboardEventManager).toBeTruthy();
expect(TestBed.get(DefaultModelApiBuilderService) instanceof DefaultModelApiBuilder).toBeTruthy();
expect(TestBed.get(ModelCreatedEventService) instanceof ModelCreatedEvent).toBeTruthy();
expect(TestBed.get(ModelDestroyedEventService) instanceof ModelDestroyedEvent).toBeTruthy();
expect(TestBed.get(ModelPropertyValidatorService) instanceof ModelPropertyValidator).toBeTruthy();
expect(TestBed.get(ModelChangedEventService) instanceof ModelChangedEvent).toBeTruthy();
expect(TestBed.get(ThemeManagerService) instanceof ThemeManager).toBeTruthy();
expect(TestBed.get(ModelEventInstallerService) instanceof ModelEventInstaller).toBeTruthy();
expect(TestBed.get(ModelSerializerService) instanceof ModelSerializer).toBeTruthy();
expect(TestBed.get(ArraySerializerService) instanceof ArraySerializer).toBeTruthy();
expect(TestBed.get(ObjectSerializerService) instanceof ObjectSerializer).toBeTruthy();
expect(TestBed.get(PrimitiveSerializerService) instanceof PrimitiveSerializer).toBeTruthy();
expect(TestBed.get(SerializationManagerService) instanceof SerializationManager).toBeTruthy();
expect(TestBed.get(VariableSerializerService) instanceof VariableSerializer).toBeTruthy();
expect(TestBed.get(EditorLibraryService) instanceof EditorLibrary).toBeTruthy();
expect(TestBed.get(EditorApiFactoryService) instanceof EditorApiFactory).toBeTruthy();
expect(TestBed.get(ModelPropertyTypeService) instanceof ModelPropertyType).toBeTruthy();
expect(TestBed.get(DataRefreshEventService) instanceof DataRefreshEvent).toBeTruthy();
expect(TestBed.get(TimeRangeChangedEventService) instanceof TimeRangeChangedEvent).toBeTruthy();
expect(TestBed.get(TimeRangeManagerService) instanceof TimeRangeManager).toBeTruthy();
expect(TestBed.inject(ModelLibraryService) instanceof ModelLibrary).toBeTruthy();
expect(TestBed.inject(RendererLibraryService) instanceof RendererLibrary).toBeTruthy();
expect(TestBed.inject(ModelDeserializerService) instanceof ModelDeserializer).toBeTruthy();
expect(TestBed.inject(ArrayDeserializerService) instanceof ArrayDeserializer).toBeTruthy();
expect(TestBed.inject(ObjectDeserializerService) instanceof ObjectDeserializer).toBeTruthy();
expect(TestBed.inject(PrimitiveDeserializerService) instanceof PrimitiveDeserializer).toBeTruthy();
expect(TestBed.inject(DeserializationManagerService) instanceof DeserializationManager).toBeTruthy();
expect(TestBed.inject(ModelManagerService) instanceof ModelManager).toBeTruthy();
expect(TestBed.inject(DashboardManagerService) instanceof DashboardManager).toBeTruthy();
expect(TestBed.inject(DataSourceManagerService) instanceof DataSourceManagerService).toBeTruthy();
expect(TestBed.inject(LoggerService) instanceof Logger).toBeTruthy();
expect(TestBed.inject(ModelPropertyTypeLibraryService) instanceof ModelPropertyTypeLibrary).toBeTruthy();
expect(TestBed.inject(VariableManagerService) instanceof VariableManager).toBeTruthy();
expect(TestBed.inject(VariableDeserializerService) instanceof VariableDeserializer).toBeTruthy();
expect(TestBed.inject(DashboardEventManagerService) instanceof DashboardEventManager).toBeTruthy();
expect(TestBed.inject(DefaultModelApiBuilderService) instanceof DefaultModelApiBuilder).toBeTruthy();
expect(TestBed.inject(ModelCreatedEventService) instanceof ModelCreatedEvent).toBeTruthy();
expect(TestBed.inject(ModelDestroyedEventService) instanceof ModelDestroyedEvent).toBeTruthy();
expect(TestBed.inject(ModelPropertyValidatorService) instanceof ModelPropertyValidator).toBeTruthy();
expect(TestBed.inject(ModelChangedEventService) instanceof ModelChangedEvent).toBeTruthy();
expect(TestBed.inject(ThemeManagerService) instanceof ThemeManager).toBeTruthy();
expect(TestBed.inject(ModelEventInstallerService) instanceof ModelEventInstaller).toBeTruthy();
expect(TestBed.inject(ModelSerializerService) instanceof ModelSerializer).toBeTruthy();
expect(TestBed.inject(ArraySerializerService) instanceof ArraySerializer).toBeTruthy();
expect(TestBed.inject(ObjectSerializerService) instanceof ObjectSerializer).toBeTruthy();
expect(TestBed.inject(PrimitiveSerializerService) instanceof PrimitiveSerializer).toBeTruthy();
expect(TestBed.inject(SerializationManagerService) instanceof SerializationManager).toBeTruthy();
expect(TestBed.inject(VariableSerializerService) instanceof VariableSerializer).toBeTruthy();
expect(TestBed.inject(EditorLibraryService) instanceof EditorLibrary).toBeTruthy();
expect(TestBed.inject(EditorApiFactoryService) instanceof EditorApiFactory).toBeTruthy();
expect(TestBed.inject(ModelPropertyTypeService) instanceof ModelPropertyType).toBeTruthy();
expect(TestBed.inject(DataRefreshEventService) instanceof DataRefreshEvent).toBeTruthy();
expect(TestBed.inject(TimeRangeChangedEventService) instanceof TimeRangeChangedEvent).toBeTruthy();
expect(TestBed.inject(TimeRangeManagerService) instanceof TimeRangeManager).toBeTruthy();
});

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

expect(
(TestBed.get(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestModelDecoratorClass)
(TestBed.inject(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestModelDecoratorClass)
).toMatchObject({
type: 'test-model-decorator'
});
Expand All @@ -129,7 +129,7 @@ describe('Injectable wrappers', () => {
class TestLateModelDecoratorClass {}

expect(
(TestBed.get(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestLateModelDecoratorClass)
(TestBed.inject(ModelLibraryService) as ModelLibrary).lookupModelMetadata(TestLateModelDecoratorClass)
).toMatchObject({
type: 'test-late-model-decorator'
});
Expand All @@ -141,7 +141,7 @@ describe('Injectable wrappers', () => {
@Renderer({ modelClass: modelClass })
class TestRendererDecoratorClass {}

expect((TestBed.get(RendererLibraryService) as RendererLibrary).lookupRenderer(modelClass)).toBe(
expect((TestBed.inject(RendererLibraryService) as RendererLibrary).lookupRenderer(modelClass)).toBe(
TestRendererDecoratorClass
);

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

expect((TestBed.get(RendererLibraryService) as RendererLibrary).lookupRenderer(secondModelClass)).toBe(
expect((TestBed.inject(RendererLibraryService) as RendererLibrary).lookupRenderer(secondModelClass)).toBe(
TestSecondRendererDecoratorClass
);
});
Expand Down Expand Up @@ -180,7 +180,7 @@ describe('Injectable wrappers', () => {
public booleanProp?: boolean;
}

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

expect((TestBed.get(EditorLibraryService) as EditorLibrary).getEditorData(TestModelClass)).toMatchObject({
expect((TestBed.inject(EditorLibraryService) as EditorLibrary).getEditorData(TestModelClass)).toMatchObject({
title: 'Test Model',
subeditors: [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ describe('Model event installer service', () => {
TestBed.configureTestingModule({
providers: [{ provide: eventKeyInjectionToken, useValue: eventKey }]
});
modelEventInstallerService = TestBed.get(ModelEventInstallerService);
modelEventInstallerService = TestBed.inject(ModelEventInstallerService);
});

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

class TestModelClass {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ describe('Dashboard core module', () => {
]
});

expect(TestBed.get(MODEL_PROPERTY_TYPES)).toContainEqual([testPropType, testPropType2, PropertyTypeProvider]);
expect(TestBed.inject(MODEL_PROPERTY_TYPES)).toContainEqual([testPropType, testPropType2, PropertyTypeProvider]);
});
});
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
import { Component, Input } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { DashboardModelDirective } from './dashboard-model.directive';
import { DashboardRendererService } from './dashboard-renderer.service';

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

beforeEach(async(() => {
TestBed.configureTestingModule({
providers: [{ provide: DashboardRendererService, useValue: {} }],
declarations: [HostComponent, DashboardModelDirective]
}).compileComponents();
beforeEach(
waitForAsync(() => {
TestBed.configureTestingModule({
providers: [{ provide: DashboardRendererService, useValue: {} }],
declarations: [HostComponent, DashboardModelDirective]
}).compileComponents();

dashboardRendererService = TestBed.get(DashboardRendererService);
dashboardRendererService.renderInViewContainer = jest.fn();
dashboardRendererService = TestBed.inject(DashboardRendererService);
dashboardRendererService.renderInViewContainer = jest.fn();

host = TestBed.createComponent(HostComponent);
}));
host = TestBed.createComponent(HostComponent);
})
);

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