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

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

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

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

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

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

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

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

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

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

@ -13,7 +13,8 @@ import {
ApiUrlConfig,
BackupDto,
BackupsService,
DateTime
DateTime,
RestoreDto
} from './../';
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',
inject([BackupsService, HttpTestingController], (backupsService: BackupsService, httpMock: HttpTestingController) => {
@ -87,6 +166,19 @@ describe('BackupsService', () => {
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',
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();
}
public with(value: Partial<BackupDto>): BackupDto {
return this.clone(value);
}
}
export class RestoreDto {
@ -84,7 +80,7 @@ export class BackupsService {
const body: any = response;
return new RestoreDto(
body.id,
body.url,
DateTime.parseISO_UTC(body.started),
body.stopped ? DateTime.parseISO_UTC(body.stopped) : null,
body.status,

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

@ -285,6 +285,19 @@ describe('ContentsService', () => {
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',
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();
}
public with(value: Partial<ScheduleDto>): ScheduleDto {
return this.clone(value);
}
}
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>> {
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(() => {
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();
}
public with(value: Partial<PlansDto>): PlansDto {
return this.clone(value);
}
}
export class PlanDto extends Model {
@ -49,10 +45,6 @@ export class PlanDto extends Model {
) {
super();
}
public with(value: Partial<PlanDto>): PlanDto {
return this.clone(value);
}
}
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.headers.get('If-Match')).toEqual(version.value);
req.flush({});
}));
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');
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();
}
public with(value: Partial<RuleEventsDto>): RuleEventsDto {
return this.clone(value);
}
}
export class RuleEventDto extends Model {
@ -103,10 +99,6 @@ export class RuleEventDto extends Model {
) {
super();
}
public with(value: Partial<RuleEventDto>): RuleEventDto {
return this.clone(value);
}
}
export class CreateRuleDto {

1
src/Squidex/package.json

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

2
src/Squidex/tsconfig.json

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

Loading…
Cancel
Save