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