Browse Source

Reduces TS size with tslib and added tests backup.

pull/311/head
Sebastian 8 years ago
parent
commit
9f93c08b21
  1. 4
      src/Squidex/app/features/administration/services/users.service.ts
  2. 4
      src/Squidex/app/shared/services/app-clients.service.ts
  3. 8
      src/Squidex/app/shared/services/app-contributors.service.ts
  4. 8
      src/Squidex/app/shared/services/app-languages.service.ts
  5. 8
      src/Squidex/app/shared/services/app-patterns.service.ts
  6. 4
      src/Squidex/app/shared/services/apps.service.ts
  7. 4
      src/Squidex/app/shared/services/assets.service.ts
  8. 94
      src/Squidex/app/shared/services/backups.service.spec.ts
  9. 6
      src/Squidex/app/shared/services/backups.service.ts
  10. 13
      src/Squidex/app/shared/services/contents.service.spec.ts
  11. 6
      src/Squidex/app/shared/services/contents.service.ts
  12. 8
      src/Squidex/app/shared/services/plans.service.ts
  13. 5
      src/Squidex/app/shared/services/rules.service.spec.ts
  14. 8
      src/Squidex/app/shared/services/rules.service.ts
  15. 1
      src/Squidex/package.json
  16. 2
      src/Squidex/tsconfig.json

4
src/Squidex/app/features/administration/services/users.service.ts

@ -24,10 +24,6 @@ export class UsersDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<UsersDto>): UsersDto {
return this.clone(value);
}
} }
export class UserDto extends Model { export class UserDto extends Model {

4
src/Squidex/app/shared/services/app-clients.service.ts

@ -27,10 +27,6 @@ export class AppClientsDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppClientsDto>): AppClientsDto {
return this.clone(value);
}
} }
export class AppClientDto extends Model { export class AppClientDto extends Model {

8
src/Squidex/app/shared/services/app-contributors.service.ts

@ -28,10 +28,6 @@ export class AppContributorsDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppContributorsDto>): AppContributorsDto {
return this.clone(value);
}
} }
export class AppContributorDto extends Model { export class AppContributorDto extends Model {
@ -41,10 +37,6 @@ export class AppContributorDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppContributorDto>): AppContributorDto {
return this.clone(value);
}
} }
export class ContributorAssignedDto { export class ContributorAssignedDto {

8
src/Squidex/app/shared/services/app-languages.service.ts

@ -27,10 +27,6 @@ export class AppLanguagesDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppLanguagesDto>): AppLanguagesDto {
return this.clone(value);
}
} }
export class AppLanguageDto extends Model { export class AppLanguageDto extends Model {
@ -43,10 +39,6 @@ export class AppLanguageDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppLanguageDto>): AppLanguageDto {
return this.clone(value);
}
} }
export class AddAppLanguageDto { export class AddAppLanguageDto {

8
src/Squidex/app/shared/services/app-patterns.service.ts

@ -26,10 +26,6 @@ export class AppPatternsDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppPatternsDto>): AppPatternsDto {
return this.clone(value);
}
} }
export class AppPatternDto extends Model { export class AppPatternDto extends Model {
@ -41,10 +37,6 @@ export class AppPatternDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppPatternDto>): AppPatternDto {
return this.clone(value);
}
} }
export class EditAppPatternDto { export class EditAppPatternDto {

4
src/Squidex/app/shared/services/apps.service.ts

@ -31,10 +31,6 @@ export class AppDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AppDto>): AppDto {
return this.clone(value);
}
} }
export class CreateAppDto { export class CreateAppDto {

4
src/Squidex/app/shared/services/assets.service.ts

@ -29,10 +29,6 @@ export class AssetsDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<AssetsDto>): AssetsDto {
return this.clone(value);
}
} }
export class AssetDto extends Model { export class AssetDto extends Model {

94
src/Squidex/app/shared/services/backups.service.spec.ts

@ -13,7 +13,8 @@ import {
ApiUrlConfig, ApiUrlConfig,
BackupDto, BackupDto,
BackupsService, BackupsService,
DateTime DateTime,
RestoreDto
} from './../'; } from './../';
describe('BackupsService', () => { describe('BackupsService', () => {
@ -74,6 +75,84 @@ describe('BackupsService', () => {
]); ]);
})); }));
it('should make get request to get restore',
inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => {
let restore: RestoreDto;
backupsService.getRestore().subscribe(result => {
restore = result!;
});
const req = httpMock.expectOne('http://service/p/api/apps/restore');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({
url: 'http://url',
started: '2017-02-03',
stopped: '2017-02-04',
status: 'Failed',
log: [
'log1',
'log2'
]
});
expect(restore!).toEqual(
new RestoreDto('http://url',
DateTime.parseISO_UTC('2017-02-03'),
DateTime.parseISO_UTC('2017-02-04'),
'Failed',
[
'log1',
'log2'
]));
}));
it('should return null when get restore return 404',
inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => {
let restore: RestoreDto | null;
backupsService.getRestore().subscribe(result => {
restore = result;
});
const req = httpMock.expectOne('http://service/p/api/apps/restore');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({}, { status: 404, statusText: '404' });
expect(restore!).toBeNull();
}));
it('should throw error when get restore return non 404',
inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => {
let restore: RestoreDto | null;
let error: any;
backupsService.getRestore().subscribe(result => {
restore = result;
}, err => {
error = err;
});
const req = httpMock.expectOne('http://service/p/api/apps/restore');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({}, { status: 500, statusText: '500' });
expect(restore!).toBeUndefined();
expect(error)!.toBeDefined();
}));
it('should make post request to start backup', it('should make post request to start backup',
inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => { inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => {
@ -87,6 +166,19 @@ describe('BackupsService', () => {
req.flush({}); req.flush({});
})); }));
it('should make post request to start restore',
inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => {
backupsService.postRestore('http://url').subscribe();
const req = httpMock.expectOne('http://service/p/api/apps/restore');
expect(req.request.method).toEqual('POST');
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({});
}));
it('should make delete request to remove language', it('should make delete request to remove language',
inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => { inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => {

6
src/Squidex/app/shared/services/backups.service.ts

@ -30,10 +30,6 @@ export class BackupDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<BackupDto>): BackupDto {
return this.clone(value);
}
} }
export class RestoreDto { export class RestoreDto {
@ -84,7 +80,7 @@ export class BackupsService {
const body: any = response; const body: any = response;
return new RestoreDto( return new RestoreDto(
body.id, body.url,
DateTime.parseISO_UTC(body.started), DateTime.parseISO_UTC(body.started),
body.stopped ? DateTime.parseISO_UTC(body.stopped) : null, body.stopped ? DateTime.parseISO_UTC(body.stopped) : null,
body.status, body.status,

13
src/Squidex/app/shared/services/contents.service.spec.ts

@ -285,6 +285,19 @@ describe('ContentsService', () => {
req.flush({}); req.flush({});
})); }));
it('should make put request to discard changes',
inject([ContentsService, HttpTestingController], (contentsService: ContentsService, httpMock: HttpTestingController) => {
contentsService.discardChanges('my-app', 'my-schema', 'content1', version).subscribe();
const req = httpMock.expectOne('http://service/p/api/content/my-app/my-schema/content1/discard');
expect(req.request.method).toEqual('PUT');
expect(req.request.headers.get('If-Match')).toBe(version.value);
req.flush({});
}));
it('should make put request to change content status', it('should make put request to change content status',
inject([ContentsService, HttpTestingController], (contentsService: ContentsService, httpMock: HttpTestingController) => { inject([ContentsService, HttpTestingController], (contentsService: ContentsService, httpMock: HttpTestingController) => {

6
src/Squidex/app/shared/services/contents.service.ts

@ -43,10 +43,6 @@ export class ScheduleDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<ScheduleDto>): ScheduleDto {
return this.clone(value);
}
} }
export class ContentDto extends Model { export class ContentDto extends Model {
@ -233,7 +229,7 @@ export class ContentsService {
public discardChanges(appName: string, schemaName: string, id: string, version: Version): Observable<Versioned<any>> { public discardChanges(appName: string, schemaName: string, id: string, version: Version): Observable<Versioned<any>> {
const url = this.apiUrl.buildUrl(`/api/content/${appName}/${schemaName}/${id}/discard`); const url = this.apiUrl.buildUrl(`/api/content/${appName}/${schemaName}/${id}/discard`);
return HTTP.putVersioned(this.http, url, version).pipe( return HTTP.putVersioned(this.http, url, {}, version).pipe(
tap(() => { tap(() => {
this.analytics.trackEvent('Content', 'Discarded', appName); this.analytics.trackEvent('Content', 'Discarded', appName);
}), }),

8
src/Squidex/app/shared/services/plans.service.ts

@ -30,10 +30,6 @@ export class PlansDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<PlansDto>): PlansDto {
return this.clone(value);
}
} }
export class PlanDto extends Model { export class PlanDto extends Model {
@ -49,10 +45,6 @@ export class PlanDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<PlanDto>): PlanDto {
return this.clone(value);
}
} }
export class PlanChangedDto { export class PlanChangedDto {

5
src/Squidex/app/shared/services/rules.service.spec.ts

@ -201,6 +201,8 @@ describe('RulesService', () => {
expect(req.request.method).toEqual('DELETE'); expect(req.request.method).toEqual('DELETE');
expect(req.request.headers.get('If-Match')).toEqual(version.value); expect(req.request.headers.get('If-Match')).toEqual(version.value);
req.flush({});
})); }));
it('should make get request to get app rule events', it('should make get request to get app rule events',
@ -265,5 +267,8 @@ describe('RulesService', () => {
const req = httpMock.expectOne('http://service/p/api/apps/my-app/rules/events/123'); const req = httpMock.expectOne('http://service/p/api/apps/my-app/rules/events/123');
expect(req.request.method).toEqual('PUT'); expect(req.request.method).toEqual('PUT');
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({});
})); }));
}); });

8
src/Squidex/app/shared/services/rules.service.ts

@ -83,10 +83,6 @@ export class RuleEventsDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<RuleEventsDto>): RuleEventsDto {
return this.clone(value);
}
} }
export class RuleEventDto extends Model { export class RuleEventDto extends Model {
@ -103,10 +99,6 @@ export class RuleEventDto extends Model {
) { ) {
super(); super();
} }
public with(value: Partial<RuleEventDto>): RuleEventDto {
return this.clone(value);
}
} }
export class CreateRuleDto { export class CreateRuleDto {

1
src/Squidex/package.json

@ -43,6 +43,7 @@
"rxjs": "6.2.0", "rxjs": "6.2.0",
"slugify": "1.3.0", "slugify": "1.3.0",
"sortablejs": "1.7.0", "sortablejs": "1.7.0",
"tslib": "^1.9.3",
"zone.js": "0.8.26" "zone.js": "0.8.26"
}, },
"devDependencies": { "devDependencies": {

2
src/Squidex/tsconfig.json

@ -3,8 +3,10 @@
"baseUrl": ".", "baseUrl": ".",
"emitDecoratorMetadata": true, "emitDecoratorMetadata": true,
"experimentalDecorators": true, "experimentalDecorators": true,
"importHelpers": true,
"lib": ["es6", "esnext", "dom"], "lib": ["es6", "esnext", "dom"],
"moduleResolution": "node", "moduleResolution": "node",
"noEmitHelpers": true,
"noImplicitAny": true, "noImplicitAny": true,
"noUnusedLocals": true, "noUnusedLocals": true,
"noUnusedParameters": false, "noUnusedParameters": false,

Loading…
Cancel
Save