|
|
@ -8,30 +8,46 @@ |
|
|
import { Observable } from 'rxjs'; |
|
|
import { Observable } from 'rxjs'; |
|
|
import { IMock, It, Mock, Times } from 'typemoq'; |
|
|
import { IMock, It, Mock, Times } from 'typemoq'; |
|
|
|
|
|
|
|
|
import { AuthService, DialogService } from '@app/shared'; |
|
|
import { AuthService, DialogService, Versioned, AddFieldDto, CreateSchemaDto, UpdateFieldDto } from '@app/shared'; |
|
|
|
|
|
|
|
|
import { SchemasState } from './schemas.state'; |
|
|
import { SchemasState } from './schemas.state'; |
|
|
|
|
|
|
|
|
import { |
|
|
import { |
|
|
AppsState, |
|
|
AppsState, |
|
|
|
|
|
createProperties, |
|
|
DateTime, |
|
|
DateTime, |
|
|
|
|
|
FieldDto, |
|
|
SchemaDetailsDto, |
|
|
SchemaDetailsDto, |
|
|
SchemaDto, |
|
|
SchemaDto, |
|
|
SchemasService, |
|
|
SchemasService, |
|
|
|
|
|
UpdateSchemaDto, |
|
|
|
|
|
UpdateSchemaScriptsDto, |
|
|
Version |
|
|
Version |
|
|
} from '@app/shared'; |
|
|
} from '@app/shared'; |
|
|
|
|
|
|
|
|
describe('SchemasState', () => { |
|
|
describe('SchemasState', () => { |
|
|
const app = 'my-app'; |
|
|
const app = 'my-app'; |
|
|
|
|
|
const creation = DateTime.today(); |
|
|
const yesterday = DateTime.today().addDays(-1); |
|
|
const creator = 'not-me'; |
|
|
|
|
|
const modified = DateTime.now(); |
|
|
|
|
|
const modifier = 'me'; |
|
|
|
|
|
const version = new Version('1'); |
|
|
|
|
|
const newVersion = new Version('2'); |
|
|
|
|
|
|
|
|
const oldSchemas = [ |
|
|
const oldSchemas = [ |
|
|
new SchemaDto('id1', 'name1', {}, true, 'me', 'me', yesterday, yesterday, new Version('1')), |
|
|
new SchemaDto('id1', 'name1', {}, false, creator, creator, creation, creation, version), |
|
|
new SchemaDto('id2', 'name2', {}, true, 'me', 'me', yesterday, yesterday, new Version('2')) |
|
|
new SchemaDto('id2', 'name2', {}, true , creator, creator, creation, creation, version) |
|
|
]; |
|
|
]; |
|
|
|
|
|
|
|
|
const schema = new SchemaDetailsDto('id2', 'name2', {}, true, 'me', 'me', yesterday, yesterday, new Version('2'), []); |
|
|
const field1 = new FieldDto(1, '1', false, false, false, 'l', createProperties('String')); |
|
|
|
|
|
const field2 = new FieldDto(2, '2', true, true, true, 'l', createProperties('Number')); |
|
|
|
|
|
|
|
|
|
|
|
const schema = |
|
|
|
|
|
new SchemaDetailsDto('id2', 'name2', {}, true, |
|
|
|
|
|
creator, creator, |
|
|
|
|
|
creation, creation, |
|
|
|
|
|
version, |
|
|
|
|
|
[field1, field2]); |
|
|
|
|
|
|
|
|
let dialogs: IMock<DialogService>; |
|
|
let dialogs: IMock<DialogService>; |
|
|
let appsState: IMock<AppsState>; |
|
|
let appsState: IMock<AppsState>; |
|
|
@ -45,7 +61,7 @@ describe('SchemasState', () => { |
|
|
authService = Mock.ofType<AuthService>(); |
|
|
authService = Mock.ofType<AuthService>(); |
|
|
|
|
|
|
|
|
authService.setup(x => x.user) |
|
|
authService.setup(x => x.user) |
|
|
.returns(() => <any>{ id: 'id2' }); |
|
|
.returns(() => <any>{ id: '1', token: modifier }); |
|
|
|
|
|
|
|
|
appsState = Mock.ofType<AppsState>(); |
|
|
appsState = Mock.ofType<AppsState>(); |
|
|
|
|
|
|
|
|
@ -57,7 +73,10 @@ describe('SchemasState', () => { |
|
|
schemasService.setup(x => x.getSchemas(app)) |
|
|
schemasService.setup(x => x.getSchemas(app)) |
|
|
.returns(() => Observable.of(oldSchemas)); |
|
|
.returns(() => Observable.of(oldSchemas)); |
|
|
|
|
|
|
|
|
schemasService.setup(x => x.getSchema(app, 'name2')) |
|
|
schemasService.setup(x => x.getSchema(app, schema.name)) |
|
|
|
|
|
.returns(() => Observable.of(schema)); |
|
|
|
|
|
|
|
|
|
|
|
schemasService.setup(x => x.getSchema(app, schema.name)) |
|
|
.returns(() => Observable.of(schema)); |
|
|
.returns(() => Observable.of(schema)); |
|
|
|
|
|
|
|
|
schemasState = new SchemasState(appsState.object, authService.object, dialogs.object, schemasService.object); |
|
|
schemasState = new SchemasState(appsState.object, authService.object, dialogs.object, schemasService.object); |
|
|
@ -70,11 +89,11 @@ describe('SchemasState', () => { |
|
|
schemasService.verifyAll(); |
|
|
schemasService.verifyAll(); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
it('should not load schema when already loaded', () => { |
|
|
it('should reload schema when already loaded', () => { |
|
|
schemasState.selectSchema('name2').subscribe(); |
|
|
schemasState.selectSchema('name2').subscribe(); |
|
|
schemasState.selectSchema('name2').subscribe(); |
|
|
schemasState.selectSchema('name2').subscribe(); |
|
|
|
|
|
|
|
|
schemasService.verify(x => x.getSchema(app, 'name2'), Times.once()); |
|
|
schemasService.verify(x => x.getSchema(app, 'name2'), Times.exactly(2)); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
it('should load selected schema when not loaded', () => { |
|
|
it('should load selected schema when not loaded', () => { |
|
|
@ -89,6 +108,20 @@ describe('SchemasState', () => { |
|
|
expect(schemasState.snapshot.selectedSchema).toBe(schemasState.snapshot.schemas.at(1)); |
|
|
expect(schemasState.snapshot.selectedSchema).toBe(schemasState.snapshot.schemas.at(1)); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should return null when loading failed', () => { |
|
|
|
|
|
schemasService.setup(x => x.getSchema(app, 'failed')) |
|
|
|
|
|
.returns(() => Observable.throw({})); |
|
|
|
|
|
|
|
|
|
|
|
let selectedSchema: SchemaDetailsDto; |
|
|
|
|
|
|
|
|
|
|
|
schemasState.selectSchema('failed').subscribe(x => { |
|
|
|
|
|
selectedSchema = x!; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
expect(selectedSchema!).toBeNull(); |
|
|
|
|
|
expect(schemasState.snapshot.selectedSchema).toBeNull(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
it('should return null when unselecting schema', () => { |
|
|
it('should return null when unselecting schema', () => { |
|
|
let selectedSchema: SchemaDetailsDto; |
|
|
let selectedSchema: SchemaDetailsDto; |
|
|
|
|
|
|
|
|
@ -102,148 +135,222 @@ describe('SchemasState', () => { |
|
|
schemasService.verify(x => x.getSchema(app, It.isAnyString()), Times.never()); |
|
|
schemasService.verify(x => x.getSchema(app, It.isAnyString()), Times.never()); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
/* |
|
|
it('should update isPublished property and user info when publishing', () => { |
|
|
it('should mark as current user when selected user equals to profile', () => { |
|
|
schemasService.setup(x => x.publishSchema(app, oldSchemas[0].name, version)) |
|
|
usersState.selectUser('id2').subscribe(); |
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
expect(usersState.snapshot.isCurrentUser).toBeTruthy(); |
|
|
schemasState.publish(oldSchemas[0], modified).subscribe(); |
|
|
|
|
|
|
|
|
|
|
|
const schema_1 = schemasState.snapshot.schemas.at(0); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.isPublished).toBeTruthy(); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
it('should load user when not loaded', () => { |
|
|
it('should update isPublished property and user info when unpublishing', () => { |
|
|
usersService.setup(x => x.getUser('id3')) |
|
|
schemasService.setup(x => x.unpublishSchema(app, oldSchemas[1].name, version)) |
|
|
.returns(() => Observable.of(newUser)); |
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
let selectedUser: UserDto; |
|
|
schemasState.unpublish(oldSchemas[1], modified).subscribe(); |
|
|
|
|
|
|
|
|
usersState.selectUser('id3').subscribe(x => { |
|
|
const schema_1 = schemasState.snapshot.schemas.at(1); |
|
|
selectedUser = x!; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
expect(selectedUser!).toEqual(newUser); |
|
|
expect(schema_1.isPublished).toBeFalsy(); |
|
|
expect(usersState.snapshot.selectedUser).toBe(newUser); |
|
|
expectToBeModified(schema_1); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
it('should return null when user to select is not found', () => { |
|
|
describe('without selection', () => { |
|
|
usersService.setup(x => x.getUser('unknown')) |
|
|
beforeEach(() => { |
|
|
.returns(() => Observable.throw({})); |
|
|
schemasState.selectSchema(schema.name).subscribe(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
let selectedUser: UserDto; |
|
|
it('should update isPublished property and user info when publishing selected schema', () => { |
|
|
|
|
|
schemasService.setup(x => x.publishSchema(app, schema.name, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
usersState.selectUser('unknown').subscribe(x => { |
|
|
schemasState.publish(schema, modified).subscribe(); |
|
|
selectedUser = x!; |
|
|
|
|
|
}).unsubscribe(); |
|
|
|
|
|
|
|
|
|
|
|
expect(selectedUser!).toBeNull(); |
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
expect(usersState.snapshot.selectedUser).toBeNull(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should mark user as locked', () => { |
|
|
expect(schema_1.isPublished).toBeTruthy(); |
|
|
usersService.setup(x => x.lockUser('id1')) |
|
|
expectToBeModified(schema_1); |
|
|
.returns(() => Observable.of({})); |
|
|
}); |
|
|
|
|
|
|
|
|
usersState.selectUser('id1').subscribe(); |
|
|
it('should update properties property and user info when updating', () => { |
|
|
usersState.lockUser(oldUsers[0]).subscribe(); |
|
|
const request = new UpdateSchemaDto('name2_label', 'name2_hints'); |
|
|
|
|
|
|
|
|
expect(usersState.snapshot.users.at(0).isLocked).toBeTruthy(); |
|
|
schemasService.setup(x => x.putSchema(app, schema.name, It.isAny(), version)) |
|
|
expect(usersState.snapshot.selectedUser).toBe(usersState.snapshot.users.at(0)); |
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should raise notification when locking failed', () => { |
|
|
schemasState.update(schema, request, modified).subscribe(); |
|
|
usersService.setup(x => x.lockUser('id1')) |
|
|
|
|
|
.returns(() => Observable.throw({})); |
|
|
|
|
|
|
|
|
|
|
|
usersState.lockUser(oldUsers[0]).onErrorResumeNext().subscribe(); |
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
dialogs.verify(x => x.notifyError(It.isAny()), Times.once()); |
|
|
expect(schema_1.properties.label).toEqual('name2_label'); |
|
|
}); |
|
|
expect(schema_1.properties.hints).toEqual('name2_hints'); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
it('should unmark user as locked', () => { |
|
|
it('should update script properties and user info when updating', () => { |
|
|
usersService.setup(x => x.unlockUser('id2')) |
|
|
const request = new UpdateSchemaScriptsDto('query', 'create', 'update', 'delete', 'change'); |
|
|
.returns(() => Observable.of({})); |
|
|
|
|
|
|
|
|
|
|
|
usersState.selectUser('id2').subscribe(); |
|
|
schemasService.setup(x => x.putSchemaScripts(app, schema.name, It.isAny(), version)) |
|
|
usersState.unlockUser(oldUsers[1]).subscribe(); |
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
expect(usersState.snapshot.users.at(1).isLocked).toBeFalsy(); |
|
|
schemasState.configureScripts(schema, request, modified).subscribe(); |
|
|
expect(usersState.snapshot.selectedUser).toBe(usersState.snapshot.users.at(1)); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should raise notification when unlocking failed', () => { |
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
usersService.setup(x => x.unlockUser('id2')) |
|
|
|
|
|
.returns(() => Observable.throw({})); |
|
|
|
|
|
|
|
|
|
|
|
usersState.unlockUser(oldUsers[1]).onErrorResumeNext().subscribe(); |
|
|
expect(schema_1.scriptQuery).toEqual('query'); |
|
|
|
|
|
expect(schema_1.scriptCreate).toEqual('create'); |
|
|
|
|
|
expect(schema_1.scriptUpdate).toEqual('update'); |
|
|
|
|
|
expect(schema_1.scriptDelete).toEqual('delete'); |
|
|
|
|
|
expect(schema_1.scriptChange).toEqual('change'); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
dialogs.verify(x => x.notifyError(It.isAny()), Times.once()); |
|
|
it('should add schema when created', () => { |
|
|
}); |
|
|
const request = new CreateSchemaDto('newName'); |
|
|
|
|
|
|
|
|
it('should update user on update', () => { |
|
|
const result = new SchemaDetailsDto('id4', 'newName', {}, false, modifier, modifier, modified, modified, version, []); |
|
|
const request = new UpdateUserDto('new@mail.com', 'New'); |
|
|
|
|
|
|
|
|
|
|
|
usersService.setup(x => x.putUser('id1', request)) |
|
|
schemasService.setup(x => x.postSchema(app, request, modifier, modified)) |
|
|
.returns(() => Observable.of({})); |
|
|
.returns(() => Observable.of(result)); |
|
|
|
|
|
|
|
|
usersState.selectUser('id1').subscribe(); |
|
|
schemasState.create(request, modified).subscribe(); |
|
|
usersState.updateUser(oldUsers[0], request).subscribe(); |
|
|
|
|
|
|
|
|
|
|
|
expect(usersState.snapshot.users.at(0).email).toEqual('new@mail.com'); |
|
|
expect(schemasState.snapshot.schemas.values.length).toBe(3); |
|
|
expect(usersState.snapshot.users.at(0).displayName).toEqual('New'); |
|
|
expect(schemasState.snapshot.schemas.at(2)).toBe(result); |
|
|
expect(usersState.snapshot.selectedUser).toBe(usersState.snapshot.users.at(0)); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should not raise notification when updating failed', () => { |
|
|
it('should remove schema when deleted', () => { |
|
|
const request = new UpdateUserDto('new@mail.com', 'New'); |
|
|
schemasService.setup(x => x.deleteSchema(app, schema.name, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
usersService.setup(x => x.putUser('id1', request)) |
|
|
schemasState.delete(schema).subscribe(); |
|
|
.returns(() => Observable.throw({})); |
|
|
|
|
|
|
|
|
|
|
|
usersState.updateUser(oldUsers[0], request).onErrorResumeNext().subscribe(); |
|
|
expect(schemasState.snapshot.schemas.values.length).toBe(1); |
|
|
|
|
|
expect(schemasState.snapshot.selectedSchema).toBeNull(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
dialogs.verify(x => x.notifyError(It.isAny()), Times.never()); |
|
|
it('should update fields property and user info when adding field', () => { |
|
|
}); |
|
|
const request = new AddFieldDto(field1.name, field1.partitioning, field1.properties); |
|
|
|
|
|
|
|
|
it('should add user to state when created', () => { |
|
|
const newField = new FieldDto(3, '3', false, false, false, 'l', createProperties('String')); |
|
|
const request = new CreateUserDto(newUser.email, newUser.displayName, 'password'); |
|
|
|
|
|
|
|
|
|
|
|
usersService.setup(x => x.postUser(request)) |
|
|
schemasService.setup(x => x.postField(app, schema.name, It.isAny(), version)) |
|
|
.returns(() => Observable.of(newUser)); |
|
|
.returns(() => Observable.of(new Versioned<FieldDto>(newVersion, newField))); |
|
|
|
|
|
|
|
|
usersState.createUser(request).subscribe(); |
|
|
schemasState.addField(schema, request, modified).subscribe(); |
|
|
|
|
|
|
|
|
expect(usersState.snapshot.users.at(0)).toBe(newUser); |
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
expect(usersState.snapshot.usersPager.numberOfItems).toBe(201); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should not raise notification when creating failed', () => { |
|
|
expect(schema_1.fields).toEqual([field1, field2, newField]); |
|
|
const request = new CreateUserDto(newUser.email, newUser.displayName, 'password'); |
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
usersService.setup(x => x.postUser(request)) |
|
|
it('should update fields property and user info when removing field', () => { |
|
|
.returns(() => Observable.throw({})); |
|
|
schemasService.setup(x => x.deleteField(app, schema.name, field1.fieldId, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
usersState.createUser(request).onErrorResumeNext().subscribe(); |
|
|
schemasState.deleteField(schema, field1, modified).subscribe(); |
|
|
|
|
|
|
|
|
dialogs.verify(x => x.notifyError(It.isAny()), Times.never()); |
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should load next page and prev page when paging', () => { |
|
|
expect(schema_1.fields).toEqual([field2]); |
|
|
usersService.setup(x => x.getUsers(10, 10, undefined)) |
|
|
expectToBeModified(schema_1); |
|
|
.returns(() => Observable.of(new UsersDto(200, []))); |
|
|
}); |
|
|
|
|
|
|
|
|
usersState.goNext().subscribe(); |
|
|
it('should update fields property and user info when sorting fields', () => { |
|
|
usersState.goPrev().subscribe(); |
|
|
schemasService.setup(x => x.putFieldOrdering(app, schema.name, [field2.fieldId, field1.fieldId], version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
usersService.verify(x => x.getUsers(10, 10, undefined), Times.once()); |
|
|
schemasState.sortFields(schema, [field2, field1], modified).subscribe(); |
|
|
usersService.verify(x => x.getUsers(10, 0, undefined), Times.exactly(2)); |
|
|
|
|
|
}); |
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.fields).toEqual([field2, field1]); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should update fields property and user info when updating field', () => { |
|
|
|
|
|
const request = new UpdateFieldDto(createProperties('String')); |
|
|
|
|
|
|
|
|
|
|
|
schemasService.setup(x => x.putField(app, schema.name, field1.fieldId, request, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
|
|
|
schemasState.updateField(schema, field1, request, modified).subscribe(); |
|
|
|
|
|
|
|
|
|
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.fields[0].properties).toBe(request.properties); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should update fields property and user info when hiding field', () => { |
|
|
|
|
|
schemasService.setup(x => x.hideField(app, schema.name, field1.fieldId, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
|
|
|
schemasState.hideField(schema, field1, modified).subscribe(); |
|
|
|
|
|
|
|
|
|
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.fields[0].isHidden).toBeTruthy(); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
it('should load with query when searching', () => { |
|
|
it('should update fields property and user info when disabling field', () => { |
|
|
usersService.setup(x => x.getUsers(10, 0, 'my-query')) |
|
|
schemasService.setup(x => x.disableField(app, schema.name, field1.fieldId, version)) |
|
|
.returns(() => Observable.of(new UsersDto(0, []))); |
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
usersState.search('my-query').subscribe(); |
|
|
schemasState.disableField(schema, field1, modified).subscribe(); |
|
|
|
|
|
|
|
|
expect(usersState.snapshot.usersQuery).toEqual('my-query'); |
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.fields[0].isDisabled).toBeTruthy(); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should update fields property and user info when locking field', () => { |
|
|
|
|
|
schemasService.setup(x => x.lockField(app, schema.name, field1.fieldId, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
|
|
|
schemasState.lockField(schema, field1, modified).subscribe(); |
|
|
|
|
|
|
|
|
|
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.fields[0].isLocked).toBeTruthy(); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should update fields property and user info when showing field', () => { |
|
|
|
|
|
schemasService.setup(x => x.showField(app, schema.name, field2.fieldId, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
|
|
|
schemasState.showField(schema, field2, modified).subscribe(); |
|
|
|
|
|
|
|
|
|
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.fields[1].isHidden).toBeFalsy(); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should update fields property and user info when enabling field', () => { |
|
|
|
|
|
schemasService.setup(x => x.enableField(app, schema.name, field2.fieldId, version)) |
|
|
|
|
|
.returns(() => Observable.of(new Versioned<any>(newVersion, {}))); |
|
|
|
|
|
|
|
|
|
|
|
schemasState.enableField(schema, field2, modified).subscribe(); |
|
|
|
|
|
|
|
|
|
|
|
const schema_1 = <SchemaDetailsDto>schemasState.snapshot.schemas.at(1); |
|
|
|
|
|
|
|
|
|
|
|
expect(schema_1.fields[1].isDisabled).toBeFalsy(); |
|
|
|
|
|
expectToBeModified(schema_1); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
usersService.verify(x => x.getUsers(10, 0, 'my-query'), Times.once()); |
|
|
function expectToBeModified(schema_1: SchemaDto) { |
|
|
});*/ |
|
|
expect(schema_1.lastModified).toEqual(modified); |
|
|
|
|
|
expect(schema_1.lastModifiedBy).toEqual(modifier); |
|
|
|
|
|
expect(schema_1.version).toEqual(newVersion); |
|
|
|
|
|
} |
|
|
}); |
|
|
}); |