tests done except for sample and samples component
This commit is contained in:
		
							
								
								
									
										7
									
								
								src/app/models/base.model.spec.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/app/models/base.model.spec.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
import { BaseModel } from './base.model';
 | 
			
		||||
 | 
			
		||||
describe('BaseModel', () => {
 | 
			
		||||
  it('should create an instance', () => {
 | 
			
		||||
    expect(new BaseModel()).toBeTruthy();
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										10
									
								
								src/app/models/base.model.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/app/models/base.model.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
export class BaseModel {
 | 
			
		||||
  deserialize(input: any): this {
 | 
			
		||||
    Object.assign(this, input);
 | 
			
		||||
    return this;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  sendFormat(): this {
 | 
			
		||||
    return this;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,13 +1,7 @@
 | 
			
		||||
import {Deserializable} from './deserializable.model';
 | 
			
		||||
import {BaseModel} from './base.model';
 | 
			
		||||
 | 
			
		||||
// TODO: put all deserialize methods in one place
 | 
			
		||||
 | 
			
		||||
export class CustomFieldsModel implements Deserializable{
 | 
			
		||||
export class CustomFieldsModel extends BaseModel {
 | 
			
		||||
  name = '';
 | 
			
		||||
  qty = 0;
 | 
			
		||||
 | 
			
		||||
  deserialize(input: any): this {
 | 
			
		||||
    Object.assign(this, input);
 | 
			
		||||
    return this;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
// import { DeserializableModel } from './deserializable.model';
 | 
			
		||||
//
 | 
			
		||||
// describe('DeserializableModel', () => {
 | 
			
		||||
//
 | 
			
		||||
// });
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
export interface Deserializable {
 | 
			
		||||
  deserialize(input: any): this;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
import { IdModel } from './id.model';
 | 
			
		||||
 | 
			
		||||
describe('IdModel', () => {
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
import _ from 'lodash';
 | 
			
		||||
import {Deserializable} from './deserializable.model';
 | 
			
		||||
import {IdModel} from './id.model';
 | 
			
		||||
import {SendFormat} from './sendformat.model';
 | 
			
		||||
import {BaseModel} from './base.model';
 | 
			
		||||
 | 
			
		||||
export class MaterialModel implements Deserializable, SendFormat {
 | 
			
		||||
export class MaterialModel extends BaseModel {
 | 
			
		||||
  _id: IdModel = null;
 | 
			
		||||
  name = '';
 | 
			
		||||
  supplier = '';
 | 
			
		||||
@@ -14,11 +13,6 @@ export class MaterialModel implements Deserializable, SendFormat {
 | 
			
		||||
  private numberTemplate = {color: '', number: ''};
 | 
			
		||||
  numbers: {color: string, number: string}[] = [_.cloneDeep(this.numberTemplate)];
 | 
			
		||||
 | 
			
		||||
  deserialize(input: any): this {
 | 
			
		||||
    Object.assign(this, input);
 | 
			
		||||
    return this;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  sendFormat() {
 | 
			
		||||
    return _.pick(this, ['name', 'supplier', 'group', 'mineral', 'glass_fiber', 'carbon_fiber', 'numbers']);
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,15 @@
 | 
			
		||||
import _ from 'lodash';
 | 
			
		||||
import {IdModel} from './id.model';
 | 
			
		||||
import {SendFormat} from './sendformat.model';
 | 
			
		||||
import {Deserializable} from './deserializable.model';
 | 
			
		||||
import {BaseModel} from './base.model';
 | 
			
		||||
 | 
			
		||||
export class MeasurementModel implements Deserializable, SendFormat{
 | 
			
		||||
export class MeasurementModel extends BaseModel {
 | 
			
		||||
  _id: IdModel = null;
 | 
			
		||||
  sample_id: IdModel = null;
 | 
			
		||||
  measurement_template: IdModel;
 | 
			
		||||
  values: {[prop: string]: any} = {};
 | 
			
		||||
 | 
			
		||||
  constructor(measurementTemplate: IdModel = null) {
 | 
			
		||||
    super();
 | 
			
		||||
    this.measurement_template = measurementTemplate;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,10 @@
 | 
			
		||||
import _ from 'lodash';
 | 
			
		||||
import {Deserializable} from './deserializable.model';
 | 
			
		||||
import {IdModel} from './id.model';
 | 
			
		||||
import {SendFormat} from './sendformat.model';
 | 
			
		||||
import {MaterialModel} from './material.model';
 | 
			
		||||
import {MeasurementModel} from './measurement.model';
 | 
			
		||||
import {BaseModel} from './base.model';
 | 
			
		||||
 | 
			
		||||
export class SampleModel implements Deserializable, SendFormat {
 | 
			
		||||
export class SampleModel extends BaseModel {
 | 
			
		||||
  _id: IdModel = null;
 | 
			
		||||
  color = '';
 | 
			
		||||
  number = '';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
// import { SendformatModel } from './sendformat.model';
 | 
			
		||||
//
 | 
			
		||||
// describe('SendformatModel', () => {
 | 
			
		||||
//
 | 
			
		||||
// });
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
export interface SendFormat {
 | 
			
		||||
  sendFormat(omit?: string[]): {[prop: string]: any};
 | 
			
		||||
}
 | 
			
		||||
@@ -1,14 +1,9 @@
 | 
			
		||||
import {Deserializable} from './deserializable.model';
 | 
			
		||||
import {IdModel} from './id.model';
 | 
			
		||||
import {BaseModel} from './base.model';
 | 
			
		||||
 | 
			
		||||
export class TemplateModel implements Deserializable{
 | 
			
		||||
export class TemplateModel extends BaseModel {
 | 
			
		||||
  _id: IdModel = null;
 | 
			
		||||
  name = '';
 | 
			
		||||
  version = 1;
 | 
			
		||||
  parameters: {name: string, range: {[prop: string]: any}}[] = [];
 | 
			
		||||
 | 
			
		||||
  deserialize(input: any): this {
 | 
			
		||||
    Object.assign(this, input);
 | 
			
		||||
    return this;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user