mirror of
https://github.com/overte-org/overte.git
synced 2025-04-26 12:56:16 +02:00
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
/* eslint-env jasmine */
|
|
|
|
describe('Entity', function() {
|
|
var center = Vec3.sum(
|
|
MyAvatar.position,
|
|
Vec3.multiply(3, Quat.getForward(Camera.getOrientation()))
|
|
);
|
|
var boxEntity;
|
|
var boxProps = {
|
|
type: 'Box',
|
|
color: {
|
|
red: 255,
|
|
green: 255,
|
|
blue: 255,
|
|
},
|
|
position: center,
|
|
dimensions: {
|
|
x: 1,
|
|
y: 1,
|
|
z: 1,
|
|
},
|
|
};
|
|
|
|
it('serversExist', function() {
|
|
expect(Entities.serversExist()).toBe(true);
|
|
});
|
|
|
|
it('canRezTmp', function() {
|
|
expect(Entities.canRezTmp()).toBe(true);
|
|
});
|
|
|
|
beforeEach(function() {
|
|
boxEntity = Entities.addEntity(boxProps);
|
|
});
|
|
|
|
afterEach(function() {
|
|
Entities.deleteEntity(boxEntity);
|
|
boxEntity = null;
|
|
});
|
|
|
|
it('can be added programmatically', function() {
|
|
expect(typeof(boxEntity)).toEqual('string');
|
|
});
|
|
|
|
it('instantiates itself correctly', function() {
|
|
var props = Entities.getEntityProperties(boxEntity);
|
|
expect(props.type).toEqual(boxProps.type);
|
|
});
|
|
|
|
it('can be modified after creation', function() {
|
|
var newPos = {
|
|
x: boxProps.position.x,
|
|
y: boxProps.position.y,
|
|
z: boxProps.position.z + 1.0,
|
|
};
|
|
Entities.editEntity(boxEntity, {
|
|
position: newPos,
|
|
});
|
|
|
|
var props = Entities.getEntityProperties(boxEntity);
|
|
expect(Math.round(props.position.z)).toEqual(Math.round(newPos.z));
|
|
});
|
|
|
|
it("\'s last edited property working correctly", function() {
|
|
var props = Entities.getEntityProperties(boxEntity);
|
|
expect(props.lastEdited).toBeDefined();
|
|
expect(props.lastEdited).not.toBe(0);
|
|
var prevLastEdited = props.lastEdited;
|
|
|
|
// Now we make an edit to the entity, which should update its last edited time
|
|
Entities.editEntity(boxEntity, {color: {red: 0, green: 255, blue: 0}});
|
|
props = Entities.getEntityProperties(boxEntity);
|
|
expect(props.lastEdited).toBeGreaterThan(prevLastEdited);
|
|
});
|
|
});
|