summaryrefslogtreecommitdiff
path: root/spec/javascripts/blob/3d_viewer/mesh_object_spec.js
blob: d1ebae33dabe07cd431f97b345db4957e25666db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import {
  BoxGeometry,
} from 'three/build/three.module';
import MeshObject from '~/blob/3d_viewer/mesh_object';

describe('Mesh object', () => {
  it('defaults to non-wireframe material', () => {
    const object = new MeshObject(
      new BoxGeometry(10, 10, 10),
    );

    expect(object.material.wireframe).toBeFalsy();
  });

  it('changes to wirefame material', () => {
    const object = new MeshObject(
      new BoxGeometry(10, 10, 10),
    );

    object.changeMaterial('wireframe');

    expect(object.material.wireframe).toBeTruthy();
  });

  it('scales object down', () => {
    const object = new MeshObject(
      new BoxGeometry(10, 10, 10),
    );
    const radius = object.geometry.boundingSphere.radius;

    expect(radius).not.toBeGreaterThan(4);
  });

  it('does not scale object down', () => {
    const object = new MeshObject(
      new BoxGeometry(1, 1, 1),
    );
    const radius = object.geometry.boundingSphere.radius;

    expect(radius).toBeLessThan(1);
  });
});