Browse Source

Bugfixes

pull/107/head
Sebastian Stehle 9 years ago
parent
commit
2640b6eed0
  1. 6
      src/Squidex/app/features/administration/pages/users/user-page.component.ts
  2. 4
      src/Squidex/app/features/content/pages/content/content-page.component.html
  3. 41
      src/Squidex/app/features/content/pages/content/content-page.component.ts
  4. 40
      src/Squidex/app/features/content/pages/contents/search-form.component.html
  5. 7
      src/Squidex/app/features/content/pages/contents/search-form.component.scss
  6. 8
      src/Squidex/app/features/content/pages/contents/search-form.component.ts
  7. 3
      src/Squidex/app/shared/components/asset.component.ts
  8. 9
      src/Squidex/app/shared/services/assets.service.spec.ts
  9. 15
      src/Squidex/app/shared/services/assets.service.ts
  10. 52
      src/Squidex/app/shared/services/contents.service.spec.ts
  11. 60
      src/Squidex/app/shared/services/contents.service.ts
  12. 44
      src/Squidex/app/shared/services/schemas.service.spec.ts

6
src/Squidex/app/features/administration/pages/users/user-page.component.ts

@ -32,7 +32,6 @@ export class UserPageComponent extends ComponentBase implements OnInit {
public currentUserId: string;
public userFormSubmitted = false;
public userForm: FormGroup;
public userId: string;
public userFormError? = '';
public isCurrentUser = false;
@ -86,7 +85,7 @@ export class UserPageComponent extends ComponentBase implements OnInit {
this.resetUserForm(error.displayMessage);
});
} else {
this.userManagementService.putUser(this.userId, requestDto)
this.userManagementService.putUser(this.user.id, requestDto)
.subscribe(() => {
this.user =
this.user.update(
@ -119,7 +118,6 @@ export class UserPageComponent extends ComponentBase implements OnInit {
const input = this.user || {};
this.isNewMode = !this.user;
this.userId = input['id'];
this.userForm =
this.formBuilder.group({
email: [input['email'],
@ -143,7 +141,7 @@ export class UserPageComponent extends ComponentBase implements OnInit {
]]
});
this.isCurrentUser = this.userId === this.currentUserId;
this.isCurrentUser = this.user && this.user.id === this.currentUserId;
this.resetUserForm();
}

4
src/Squidex/app/features/content/pages/content/content-page.component.html

@ -38,10 +38,6 @@
<div class="panel-main">
<div class="panel-content panel-content-scroll">
<div class="panel-alert panel-alert-danger">
You have not created the subscription. Therefore you cannot change the plan.
</div>
<div *ngFor="let field of schema.fields">
<sqx-content-field [field]="field" [fieldForm]="contentForm.controls[field.name]" [languages]="languages" [contentFormSubmitted]="contentFormSubmitted"></sqx-content-field>
</div>

41
src/Squidex/app/features/content/pages/content/content-page.component.ts

@ -40,15 +40,12 @@ import {
export class ContentPageComponent extends AppComponentBase implements CanComponentDeactivate, OnDestroy, OnInit {
private contentDeletedSubscription: Subscription;
private contentVersionSelectedSubscription: Subscription;
private version = new Version('');
private content: ContentDto;
public schema: SchemaDetailsDto;
public contentFormSubmitted = false;
public contentForm: FormGroup;
public contentData: any = null;
public contentId: string | null = null;
public isNewMode = true;
@ -83,7 +80,7 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone
this.contentDeletedSubscription =
this.messageBus.of(ContentDeleted)
.subscribe(message => {
if (message.content.id === this.contentId) {
if (this.content && message.content.id === this.content.id) {
this.router.navigate(['../'], { relativeTo: this.route });
}
});
@ -124,7 +121,7 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone
if (this.isNewMode) {
this.appNameOnce()
.switchMap(app => this.contentsService.postContent(app, this.schema.name, requestDto, publish, this.version))
.switchMap(app => this.contentsService.postContent(app, this.schema.name, requestDto, publish))
.subscribe(dto => {
this.content = dto;
@ -137,7 +134,7 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone
});
} else {
this.appNameOnce()
.switchMap(app => this.contentsService.putContent(app, this.schema.name, this.contentId!, requestDto, this.version))
.switchMap(app => this.contentsService.putContent(app, this.schema.name, this.content.id, requestDto, this.content.version))
.subscribe(dto => {
this.content = this.content.update(dto, this.authService.user!.token);
@ -158,7 +155,7 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone
private loadVersion(version: number) {
if (!this.isNewMode && this.content) {
this.appNameOnce()
.switchMap(app => this.contentsService.getVersionData(app, this.schema.name, this.contentId!, new Version(version.toString())))
.switchMap(app => this.contentsService.getVersionData(app, this.schema.name, this.content.id, new Version(version.toString())))
.subscribe(dto => {
this.content = this.content.setData(dto);
@ -220,28 +217,20 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone
private populateContentForm() {
this.contentForm.markAsPristine();
if (!this.content) {
this.contentData = null;
this.contentId = null;
this.isNewMode = true;
return;
}
this.contentData = this.content.data;
this.contentId = this.content.id;
this.version = this.content.version;
this.isNewMode = false;
this.isNewMode = !this.content;
for (const field of this.schema.fields) {
const fieldValue = this.content.data[field.name] || {};
const fieldForm = <FormGroup>this.contentForm.get(field.name);
if (!this.isNewMode) {
for (const field of this.schema.fields) {
const fieldValue = this.content.data[field.name] || {};
const fieldForm = <FormGroup>this.contentForm.get(field.name);
if (field.partitioning === 'language') {
for (let language of this.languages) {
fieldForm.controls[language.iso2Code].setValue(fieldValue[language.iso2Code]);
if (field.partitioning === 'language') {
for (let language of this.languages) {
fieldForm.controls[language.iso2Code].setValue(fieldValue[language.iso2Code]);
}
} else {
fieldForm.controls['iv'].setValue(fieldValue['iv']);
}
} else {
fieldForm.controls['iv'].setValue(fieldValue['iv']);
}
}
}

40
src/Squidex/app/features/content/pages/contents/search-form.component.html

@ -1,27 +1,35 @@
<div [formGroup]="searchForm" class="form-horizontal">
<div class="form-group row">
<label class="col col-2 col-form-label" for="odataSearch">Text</label>
<div class="form-horizontal">
<div [formGroup]="searchForm">
<div class="form-group row">
<label class="col col-2 col-form-label" for="odataSearch">Text</label>
<div class="col col-10">
<input type="input" class="form-control" id="search" (blur)="updateQuery()" formControlName="odataSearch" placeholder="Fulltext search" />
<div class="col col-10">
<input type="input" class="form-control" id="search" (blur)="updateQuery()" formControlName="odataSearch" placeholder="Fulltext search" />
</div>
</div>
</div>
<div class="form-group row">
<label class="col col-2 col-form-label" for="filter">Filter</label>
<div class="form-group row">
<label class="col col-2 col-form-label" for="filter">Filter</label>
<div class="col col-10">
<input type="input" class="form-control" id="filter" (blur)="updateQuery()" formControlName="odataFilter" placeholder="data/[MY_FIELD]/iv eq 100" />
<div class="col col-10">
<input type="input" class="form-control" id="filter" (blur)="updateQuery()" formControlName="odataFilter" placeholder="data/[MY_FIELD]/iv eq 100" />
</div>
</div>
</div>
<div class="form-group row">
<label class="col col-2 col-form-label" for="orderBy">Order</label>
<div class="col col-10">
<input type="input" class="form-control" id="orderBy" (blur)="updateQuery()" formControlName="odataOrderBy" placeholder="data/[MY_FIELD]/iv desc" />
<div class="form-group row">
<label class="col col-2 col-form-label" for="orderBy">Order</label>
<div class="col col-10">
<input type="input" class="form-control" id="orderBy" (blur)="updateQuery()" formControlName="odataOrderBy" placeholder="data/[MY_FIELD]/iv desc" />
</div>
</div>
</div>
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" [ngModel]="archived" (ngModelChange)="archivedChanged.emit($event)" /> Archived items
</label>
</div>
<div class="link">
Read more about filtering in the <a href="https://docs.squidex.io/04-guides/02-api.html" target="_blank">Documentation</a>.

7
src/Squidex/app/features/content/pages/contents/search-form.component.scss

@ -7,6 +7,13 @@
max-width: 25rem;
}
.form-check {
margin-top: 1rem;
font-size: 1rem;
font-weight: normal;
text-align: right;
}
.link {
margin-top: 1.5rem;
font-size: .8rem;

8
src/Squidex/app/features/content/pages/contents/search-form.component.ts

@ -20,7 +20,13 @@ export class SearchFormComponent implements OnChanges {
public query = '';
@Output()
public queryChanged = new EventEmitter();
public queryChanged = new EventEmitter<string>();
@Input()
public archived = false;
@Output()
public archivedChanged = new EventEmitter<boolean>();
public searchForm =
this.formBuilder.group({

3
src/Squidex/app/shared/components/asset.component.ts

@ -16,6 +16,7 @@ import {
AssetReplacedDto,
AssetsService,
AuthService,
DateTime,
DialogService,
fadeAnimation,
ModalView,
@ -83,7 +84,7 @@ export class AssetComponent extends AppComponentBase implements OnInit {
if (initFile) {
this.appNameOnce()
.switchMap(app => this.assetsService.uploadFile(app, initFile, this.authService.user!.token))
.switchMap(app => this.assetsService.uploadFile(app, initFile, this.authService.user!.token, DateTime.now()))
.subscribe(dto => {
if (dto instanceof AssetDto) {
this.emitLoaded(dto);

9
src/Squidex/app/shared/services/assets.service.spec.ts

@ -50,7 +50,6 @@ describe('AssetDto', () => {
expect(asset_2.pixelHeight).toEqual(2);
expect(asset_2.lastModified).toEqual(modified);
expect(asset_2.lastModifiedBy).toEqual(modifier);
expect(asset_2.version).toEqual(update);
});
});
@ -221,7 +220,7 @@ describe('AssetsService', () => {
const req = httpMock.expectOne('http://service/p/api/apps/my-app/assets/123');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toEqual(version.value);
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({}, { status: 404, statusText: '404' });
@ -249,7 +248,7 @@ describe('AssetsService', () => {
const req = httpMock.expectOne('http://service/p/api/apps/my-app/assets?mimeTypes=image/png,image/png&take=17&skip=13');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toEqual(version.value);
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({ total: 10, items: [] });
}));
@ -262,7 +261,7 @@ describe('AssetsService', () => {
const req = httpMock.expectOne('http://service/p/api/apps/my-app/assets?ids=12,23&take=17&skip=13');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toEqual(version.value);
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({ total: 10, items: [] });
}));
@ -279,7 +278,7 @@ describe('AssetsService', () => {
const req = httpMock.expectOne('http://service/p/api/apps/my-app/assets');
expect(req.request.method).toEqual('POST');
expect(req.request.headers.get('If-Match')).toEqual(version.value);
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({
id: 'id1',

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

@ -153,7 +153,7 @@ export class AssetsService {
.pretifyError('Failed to load assets. Please reload.');
}
public uploadFile(appName: string, file: File, user: string, now?: DateTime): Observable<number | AssetDto> {
public uploadFile(appName: string, file: File, user: string, now: DateTime): Observable<number | AssetDto> {
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets`);
const req = new HttpRequest('POST', url, getFormData(file), {
@ -238,13 +238,12 @@ export class AssetsService {
public replaceFile(appName: string, id: string, file: File, version: Version): Observable<number | AssetReplacedDto> {
const url = this.apiUrl.buildUrl(`api/apps/${appName}/assets/${id}/content`);
const headers = new HttpHeaders();
if (version) {
headers.set('If-Match', version.value);
}
const req = new HttpRequest('PUT', url, getFormData(file), { headers, reportProgress: true });
const req = new HttpRequest('PUT', url, getFormData(file), {
headers: new HttpHeaders({
'If-Match': version.value
}),
reportProgress: true
});
return this.http.request(req)
.map(event => {

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

@ -52,6 +52,24 @@ describe('ContentDto', () => {
expect(content_2.lastModifiedBy).toEqual(modifier);
});
it('should update isArchived property and user info when archiving', () => {
const content_1 = new ContentDto('1', false, false, creator, creator, creation, creation, { data: 1 }, version);
const content_2 = content_1.archive(modifier, modified);
expect(content_2.isArchived).toBeTruthy();
expect(content_2.lastModified).toEqual(modified);
expect(content_2.lastModifiedBy).toEqual(modifier);
});
it('should update isArchived property and user info when restoring', () => {
const content_1 = new ContentDto('1', true, false, creator, creator, creation, creation, { data: 1 }, version);
const content_2 = content_1.restore(modifier, modified);
expect(content_2.isArchived).toBeFalsy();
expect(content_2.lastModified).toEqual(modified);
expect(content_2.lastModifiedBy).toEqual(modifier);
});
it('should update data property when setting data', () => {
const newData = {};
@ -87,11 +105,11 @@ describe('ContentsService', () => {
let contents: ContentsDto | null = null;
contentsService.getContents('my-app', 'my-schema', 17, 13).subscribe(result => {
contentsService.getContents('my-app', 'my-schema', 17, 13, undefined, undefined, true).subscribe(result => {
contents = result;
});
const req = httpMock.expectOne('http://service/p/api/content/my-app/my-schema?$top=17&$skip=13');
const req = httpMock.expectOne('http://service/p/api/content/my-app/my-schema?$top=17&$skip=13&archived=true');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toBeNull();
@ -251,14 +269,14 @@ describe('ContentsService', () => {
let content: ContentDto | null = null;
contentsService.postContent('my-app', 'my-schema', dto, true, version).subscribe(result => {
contentsService.postContent('my-app', 'my-schema', dto, true).subscribe(result => {
content = result;
});
const req = httpMock.expectOne('http://service/p/api/content/my-app/my-schema?publish=true');
expect(req.request.method).toEqual('POST');
expect(req.request.headers.get('If-Match')).toBe(version.value);
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush({
id: 'id1',
@ -341,6 +359,32 @@ describe('ContentsService', () => {
req.flush({});
}));
it('should make put request to archive content',
inject([ContentsService, HttpTestingController], (contentsService: ContentsService, httpMock: HttpTestingController) => {
contentsService.archiveContent('my-app', 'my-schema', 'content1', version).subscribe();
const req = httpMock.expectOne('http://service/p/api/content/my-app/my-schema/content1/archive');
expect(req.request.method).toEqual('PUT');
expect(req.request.headers.get('If-Match')).toEqual(version.value);
req.flush({});
}));
it('should make put request to restore content',
inject([ContentsService, HttpTestingController], (contentsService: ContentsService, httpMock: HttpTestingController) => {
contentsService.restoreContent('my-app', 'my-schema', 'content1', version).subscribe();
const req = httpMock.expectOne('http://service/p/api/content/my-app/my-schema/content1/restore');
expect(req.request.method).toEqual('PUT');
expect(req.request.headers.get('If-Match')).toEqual(version.value);
req.flush({});
}));
it('should make delete request to delete content',
inject([ContentsService, HttpTestingController], (contentsService: ContentsService, httpMock: HttpTestingController) => {

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

@ -31,7 +31,7 @@ export class ContentDto {
constructor(
public readonly id: string,
public readonly isPublished: boolean,
public readonly isDeleted: boolean,
public readonly isArchived: boolean,
public readonly createdBy: string,
public readonly lastModifiedBy: string,
public readonly created: DateTime,
@ -45,7 +45,7 @@ export class ContentDto {
return new ContentDto(
this.id,
this.isPublished,
this.isDeleted,
this.isArchived,
this.createdBy,
this.lastModifiedBy,
this.created,
@ -58,7 +58,7 @@ export class ContentDto {
return new ContentDto(
this.id,
true,
this.isDeleted,
this.isArchived,
this.createdBy, user,
this.created, now || DateTime.now(),
this.data,
@ -69,7 +69,29 @@ export class ContentDto {
return new ContentDto(
this.id,
false,
this.isDeleted,
this.isArchived,
this.createdBy, user,
this.created, now || DateTime.now(),
this.data,
this.version);
}
public archive(user: string, now?: DateTime): ContentDto {
return new ContentDto(
this.id,
this.isPublished,
true,
this.createdBy, user,
this.created, now || DateTime.now(),
this.data,
this.version);
}
public restore(user: string, now?: DateTime): ContentDto {
return new ContentDto(
this.id,
this.isPublished,
false,
this.createdBy, user,
this.created, now || DateTime.now(),
this.data,
@ -80,7 +102,7 @@ export class ContentDto {
return new ContentDto(
this.id,
this.isPublished,
this.isDeleted,
this.isArchived,
this.createdBy, user,
this.created, now || DateTime.now(),
data,
@ -97,7 +119,7 @@ export class ContentsService {
) {
}
public getContents(appName: string, schemaName: string, take: number, skip: number, query?: string, ids?: string[]): Observable<ContentsDto> {
public getContents(appName: string, schemaName: string, take: number, skip: number, query?: string, ids?: string[], archived = false): Observable<ContentsDto> {
const queryParts: string[] = [];
if (query && query.length > 0) {
@ -122,6 +144,10 @@ export class ContentsService {
queryParts.push(`ids=${ids.join(',')}`);
}
if (archived) {
queryParts.push('archived=true');
}
const fullQuery = queryParts.join('&');
const url = this.apiUrl.buildUrl(`/api/content/${appName}/${schemaName}?${fullQuery}`);
@ -154,7 +180,7 @@ export class ContentsService {
return new ContentDto(
response.id,
response.isPublished,
response.isDeleted === true,
response.isArchived === true,
response.createdBy,
response.lastModifiedBy,
DateTime.parseISO_UTC(response.created),
@ -176,10 +202,10 @@ export class ContentsService {
.pretifyError('Failed to load content. Please reload.');
}
public postContent(appName: string, schemaName: string, dto: any, publish: boolean, version: Version): Observable<ContentDto> {
public postContent(appName: string, schemaName: string, dto: any, publish: boolean): Observable<ContentDto> {
const url = this.apiUrl.buildUrl(`/api/content/${appName}/${schemaName}?publish=${publish}`);
return HTTP.postVersioned(this.http, url, dto, version)
return HTTP.postVersioned(this.http, url, dto)
.map(response => {
return new ContentDto(
response.id,
@ -208,7 +234,7 @@ export class ContentsService {
}
public deleteContent(appName: string, schemaName: string, id: string, version: Version): Observable<any> {
const url = this.apiUrl.buildUrl(`/api/coentent/${appName}/${schemaName}/${id}`);
const url = this.apiUrl.buildUrl(`/api/content/${appName}/${schemaName}/${id}`);
return HTTP.deleteVersioned(this.http, url, version)
.do(() => {
@ -237,4 +263,18 @@ export class ContentsService {
return HTTP.putVersioned(this.http, url, {}, version)
.pretifyError('Failed to unpublish content. Please reload.');
}
public archiveContent(appName: string, schemaName: string, id: string, version: Version): Observable<any> {
const url = this.apiUrl.buildUrl(`/api/content/${appName}/${schemaName}/${id}/archive`);
return HTTP.putVersioned(this.http, url, {}, version)
.pretifyError('Failed to archive content. Please reload.');
}
public restoreContent(appName: string, schemaName: string, id: string, version: Version): Observable<any> {
const url = this.apiUrl.buildUrl(`/api/content/${appName}/${schemaName}/${id}/restore`);
return HTTP.putVersioned(this.http, url, {}, version)
.pretifyError('Failed to restore content. Please reload.');
}
}

44
src/Squidex/app/shared/services/schemas.service.spec.ts

@ -39,8 +39,8 @@ describe('SchemaDto', () => {
const schema_2 = schema_1.publish(modifier, modified);
expect(schema_2.isPublished).toBeTruthy();
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update isPublished property and user info when unpublishing', () => {
@ -48,8 +48,8 @@ describe('SchemaDto', () => {
const schema_2 = schema_1.unpublish(modifier, modified);
expect(schema_2.isPublished).toBeFalsy();
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update properties property and user info when updating', () => {
@ -59,8 +59,8 @@ describe('SchemaDto', () => {
const schema_2 = schema_1.update(newProperties, modifier, modified);
expect(schema_2.properties).toEqual(newProperties);
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update scripts properties and user info when configure scripts', () => {
@ -80,8 +80,8 @@ describe('SchemaDto', () => {
expect(schema_2.scriptUpdate).toEqual('<script-update>');
expect(schema_2.scriptDelete).toEqual('<script-delete>');
expect(schema_2.scriptChange).toEqual('<script-change>');
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
});
@ -98,8 +98,8 @@ describe('SchemaDetailsDto', () => {
const schema_2 = schema_1.publish(modifier, modified);
expect(schema_2.isPublished).toBeTruthy();
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update isPublished property and user info when unpublishing', () => {
@ -107,8 +107,8 @@ describe('SchemaDetailsDto', () => {
const schema_2 = schema_1.unpublish(modifier, modified);
expect(schema_2.isPublished).toBeFalsy();
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update properties property and user info when updating', () => {
@ -118,8 +118,8 @@ describe('SchemaDetailsDto', () => {
const schema_2 = schema_1.update(newProperties, modifier, modified);
expect(schema_2.properties).toEqual(newProperties);
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update fields property and user info when adding field', () => {
@ -130,8 +130,8 @@ describe('SchemaDetailsDto', () => {
const schema_2 = schema_1.addField(field2, modifier, modified);
expect(schema_2.fields).toEqual([field1, field2]);
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update fields property and user info when removing field', () => {
@ -142,8 +142,8 @@ describe('SchemaDetailsDto', () => {
const schema_2 = schema_1.removeField(field1, modifier, modified);
expect(schema_2.fields).toEqual([field2]);
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update fields property and user info when replacing fields', () => {
@ -154,8 +154,8 @@ describe('SchemaDetailsDto', () => {
const schema_2 = schema_1.replaceFields([field2, field1], modifier, modified);
expect(schema_2.fields).toEqual([field2, field1]);
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
it('should update fields property and user info when updating field', () => {
@ -167,8 +167,8 @@ describe('SchemaDetailsDto', () => {
const schema_2 = schema_1.updateField(field2_2, modifier, modified);
expect(schema_2.fields).toEqual([field1_0, field2_2]);
expect(schema_2.lastModified).toEqual(modifier);
expect(schema_2.lastModifiedBy).toEqual(modified);
expect(schema_2.lastModified).toEqual(modified);
expect(schema_2.lastModifiedBy).toEqual(modifier);
});
});

Loading…
Cancel
Save