summaryrefslogtreecommitdiffstats
path: root/src/app/shared/pipes
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/shared/pipes')
-rw-r--r--src/app/shared/pipes/vm-filtering.pipe.spec.ts49
-rw-r--r--src/app/shared/pipes/vm-filtering.pipe.ts42
2 files changed, 91 insertions, 0 deletions
diff --git a/src/app/shared/pipes/vm-filtering.pipe.spec.ts b/src/app/shared/pipes/vm-filtering.pipe.spec.ts
new file mode 100644
index 0000000..523abfb
--- /dev/null
+++ b/src/app/shared/pipes/vm-filtering.pipe.spec.ts
@@ -0,0 +1,49 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ECOMP is a trademark and service mark of AT&T Intellectual Property.
+============LICENSE_END============================================ */
+import {VmFilteringPipe} from './vm-filtering.pipe';
+
+describe('VmFilteringPipe', () => {
+ it('create an instance', () => {
+ const pipe = new VmFilteringPipe();
+ expect(pipe).toBeTruthy();
+ });
+ it('should return configscaleout values if template id matches',()=>{
+ const pipe = new VmFilteringPipe();
+
+ let objArray = [
+ {action:"Configure","template-id":2,"type":"con"},
+ {action:"ConfigScaleout","template-id":1,"type":"conScale"}
+ ]
+ expect(pipe.transform(objArray,"ConfigScaleOut",1)[0].type).toBe("conScale")
+
+ });
+ it('should return configure calues',()=>{
+ const pipe = new VmFilteringPipe();
+
+ let objArray = [
+ {action:"Configure","template-id":2,"type":"con"},
+ {action:"ConfigScaleout","template-id":1,"type":"conScale"}
+ ]
+ expect(pipe.transform(objArray,"ConfigScaleOut",2)[0].type).toBe("con")
+
+ });
+});
diff --git a/src/app/shared/pipes/vm-filtering.pipe.ts b/src/app/shared/pipes/vm-filtering.pipe.ts
new file mode 100644
index 0000000..c20397b
--- /dev/null
+++ b/src/app/shared/pipes/vm-filtering.pipe.ts
@@ -0,0 +1,42 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ECOMP is a trademark and service mark of AT&T Intellectual Property.
+============LICENSE_END============================================ */
+import {Pipe, PipeTransform} from '@angular/core';
+
+@Pipe({name: 'vmFiltering', pure: false})
+export class VmFilteringPipe implements PipeTransform {
+
+ transform(value: any, action: any, templateId): any {
+
+ if (action == 'ConfigScaleOut') {
+ let x = value.filter(obj => {
+ //return value
+ return obj['template-id'] == templateId;
+ });
+
+ return x;
+ } else {
+ return value;
+
+ }
+ }
+
+}