Best JavaScript code snippet using ng-mocks
form.controller.js
Source:form.controller.js
1(function () {2 'use strict';3 angular4 .module('app')5 .controller('formController', formController);6 formController.$inject = ['rootService', '$stateParams', '$state', '$timeout', '$scope'];7 function formController(rootService, $stateParams, $state, $timeout, $scope) {8 var fc = this;9 fc.formData = {};10 fc.state;11 fc.currentUser = $scope.$parent.rc.currentUser;12 fc.komisija = [];13 fc.taskId = $stateParams.taskId;14 fc.taskName = $stateParams.taskName;15 fc.processInstanceId = $stateParams.processInstanceId;16 fc.all = [];17 fc.ftn = [];18 fc.others = [];19 fc.mails = {};20 fc.minDate = new Date();21 fc.minDate.setDate(fc.minDate.getDate() + 1);22 fc.filter = function(arr1, arr2){23 var ret = [];24 for(var i in arr1){25 var exists = (arr2.filter(function(e) { return e.id == arr1[i].id; }).length > 0);26 if (!exists)27 ret.push(arr1[i]);28 }29 return ret;30 }31 fc.preprocessForm = function(){32 if(fc.taskName == "Predlog komisije o podobnosti" || fc.taskName == "Odluka o komisiji za podobnost"){33 rootService.getMembersOfGroup('profesor').then(function(response){34 fc.all = response.data;35 for(var i in fc.all){36 fc.mails[fc.all[i].id] = fc.all[i].email;37 }38 rootService.getMembersOfGroup('ftn').then(function(response){39 fc.ftn = response.data40 fc.others = fc.filter(fc.all, fc.ftn);41 fc.state = 1;42 if(fc.taskName == "Odluka o komisiji za podobnost"){43 rootService.getVariable(fc.processInstanceId, "clan1_komisija1").then(function(response){44 fc.formData['clan1_komisija1'] = response.value;45 });46 rootService.getVariable(fc.processInstanceId, "clan2_komisija1").then(function(response){47 fc.formData['clan2_komisija1'] = response.value;48 });49 rootService.getVariable(fc.processInstanceId, "clan3_komisija1").then(function(response){50 fc.formData['clan3_komisija1'] = response.value;51 });52 rootService.getVariable(fc.processInstanceId, "clan4_komisija1").then(function(response){53 fc.formData['clan4_komisija1'] = response.value;54 });55 rootService.getVariable(fc.processInstanceId, "clan5_komisija1").then(function(response){56 fc.formData['clan5_komisija1'] = response.value;57 });58 }59 });60 });61 }else if(fc.taskName == "Konacan predlog naslova"){62 rootService.getForm(fc.taskId).then(function(response){63 fc.form = response;64 console.log(fc.form);65 rootService.getVariable(fc.processInstanceId, "naslov_disertacije").then(function(response){66 fc.formData['naslov_disertacije'] = response.value;67 });68 });69 }else if(fc.taskName == "Odluka o prihvatanju i odredjivanje mentora"){70 rootService.getMembersOfGroup('profesor').then(function(response){71 fc.ftn = response.data;72 fc.state = 2;73 });74 }else if(fc.taskName == "Predlog komisije o oceni" || fc.taskName == "Odluka o komisiji za ocenu"){75 rootService.getMembersOfGroup('profesor').then(function(response){76 fc.all = response.data;77 for(var i in fc.all){78 fc.mails[fc.all[i].id] = fc.all[i].email;79 }80 rootService.getMembersOfGroup('ftn').then(function(response){81 fc.ftn = response.data82 fc.others = fc.filter(fc.all, fc.ftn);83 fc.state = 3;84 if(fc.taskName == "Odluka o komisiji za ocenu"){85 rootService.getVariable(fc.processInstanceId, "clan1_komisija2").then(function(response){86 fc.formData['clan1_komisija2'] = response.value;87 });88 rootService.getVariable(fc.processInstanceId, "clan2_komisija2").then(function(response){89 fc.formData['clan2_komisija2'] = response.value;90 });91 rootService.getVariable(fc.processInstanceId, "clan3_komisija2").then(function(response){92 fc.formData['clan3_komisija2'] = response.value;93 });94 rootService.getVariable(fc.processInstanceId, "clan4_komisija2").then(function(response){95 fc.formData['clan4_komisija2'] = response.value;96 });97 rootService.getVariable(fc.processInstanceId, "clan5_komisija2").then(function(response){98 fc.formData['clan5_komisija2'] = response.value;99 });100 }101 });102 });103 }else if(fc.taskName == "Zakazi vreme i mesto odbrane"){104 rootService.getForm(fc.taskId).then(function(response){105 fc.form = response;106 console.log(fc.form);107 fc.formData.vreme_odbrane = new Date(fc.minDate.getFullYear(), fc.minDate.getMonth(), fc.minDate.getDate() + 1, 12,0,0,0);108 });109 }else if(fc.taskName == "Podnesi prijavu teme"){110 rootService.getForm(fc.taskId).then(function(response){111 fc.form = response;112 console.log(fc.form);113 $timeout(function(){114 fc.formData.ime_doktoranta = fc.currentUser.firstName;115 fc.formData.prezime_doktoranta = fc.currentUser.lastName;116 }, 500);117 118 });119 }else if(fc.taskName == "Potpisi izvestaj" || fc.taskName == "Clanovi potpisuju izvestaje"){120 var op = fc.taskName == "Potpisi izvestaj" ? "opis_podobnost":"opis_ocena"121 rootService.getVariable(fc.processInstanceId, op).then(function(response){122 fc.opis = response.value;123 });124 rootService.getForm(fc.taskId).then(function(response){125 fc.form = response;126 console.log(fc.form);127 });128 }else if(fc.taskName == "Otvori dosije"){129 rootService.getForm(fc.taskId).then(function(response){130 fc.form = response;131 console.log(fc.form);132 rootService.getVariable(fc.processInstanceId, "ime_doktoranta").then(function(response){133 fc.formData['ime_doktoranta'] = response.value;134 });135 rootService.getVariable(fc.processInstanceId, "prezime_doktoranta").then(function(response){136 fc.formData['prezime_doktoranta'] = response.value;137 });138 });139 }else if(fc.taskName == "Odobravanje komisije" || fc.taskName == "Potvrdi komisiju"){140 var kom = fc.taskName == "Odobravanje komisije" ? "_komisija1":"_komisija2"; 141 rootService.getVariable(fc.processInstanceId, "clan1" + kom).then(function(response){142 rootService.getUser(response.value).then(function(response){143 fc.komisija.push(response.firstName + " " + response.lastName);144 });145 });146 rootService.getVariable(fc.processInstanceId, "clan2" + kom).then(function(response){147 rootService.getUser(response.value).then(function(response){148 fc.komisija.push(response.firstName + " " + response.lastName);149 });150 });151 rootService.getVariable(fc.processInstanceId, "clan3" + kom).then(function(response){152 rootService.getUser(response.value).then(function(response){153 fc.komisija.push(response.firstName + " " + response.lastName);154 });155 });156 rootService.getVariable(fc.processInstanceId, "clan4" + kom).then(function(response){157 rootService.getUser(response.value).then(function(response){158 fc.komisija.push(response.firstName + " " + response.lastName);159 });160 });161 rootService.getVariable(fc.processInstanceId, "clan5" + kom).then(function(response){162 rootService.getUser(response.value).then(function(response){163 fc.komisija.push(response.firstName + " " + response.lastName);164 });165 });166 rootService.getForm(fc.taskId).then(function(response){167 fc.form = response;168 console.log(fc.form);169 });170 }else if(fc.taskName == "Clanovi potvrdjuju prisustvo"){171 rootService.getVariable(fc.processInstanceId, "pravo_vreme").then(function(response){172 fc.vreme_odbrane = response.value;173 });174 rootService.getVariable(fc.processInstanceId, "mesto_odbrane").then(function(response){175 fc.mesto_odbrane = response.value;176 });177 rootService.getForm(fc.taskId).then(function(response){178 fc.form = response;179 console.log(fc.form);180 });181 }else{182 rootService.getForm(fc.taskId).then(function(response){183 fc.form = response;184 console.log(fc.form);185 });186 }187 }188 189 rootService.getTask(fc.taskId).then(function(response){190 fc.task = response;191 console.log(fc.task);192 });193 fc.preprocessForm();194 fc.submit = function(){195 //fc.processData();196 var properties = [];197 var keys = Object.keys(fc.formData);198 for(var key in keys){199 var k = keys[key];200 var temp = {};201 temp.id = k;202 temp.value = fc.formData[k];203 properties.push(temp);204 }205 206 rootService.submitForm(fc.taskId, properties).then(function(response){207 $state.go('root.tasks', null, {reload: true});208 });209 210 }211 fc.processData = function(){212 213 if(fc.taskName == "Odluka o komisiji za podobnost"){214 var properties = [];215 var obj = {"name": "komisija1email", "value": [], "scope": "local"};216 var obj2 = {"name": "komisija1", "value": [], "scope": "local"};217 var obj3 = {"name": "potpisuju1", "value": 0, "scope": "local", "type": "integer"};218 var obj4 = {"name": "potpisuju2", "value": 0, "scope": "local", "type": "integer"};219 var obj5 = {"name": "prisutnih", "value": 0, "scope": "local", "type": "integer"};220 var obj6 = {"name": "fakultetemail", "value": "vuletic93@gmail.com", "scope": "local", "type": "string"};221 var keys = Object.keys(fc.formData);222 for(var key in keys){223 var k = keys[key];224 var temp = {};225 temp.id = k;226 temp.value = fc.formData[k];227 obj.value.push(fc.mails[temp.value]);228 obj2.value.push(temp.value);229 }230 properties.push(obj);231 properties.push(obj2);232 properties.push(obj3);233 properties.push(obj4);234 properties.push(obj5);235 properties.push(obj6);236 rootService.setVariable(fc.processInstanceId, properties);237 $timeout(fc.submit, 500);238 }else if(fc.taskName == "Odluka o komisiji za ocenu"){239 var properties = [];240 var obj = {"name": "komisija2email", "value": [], "scope": "local"};241 var obj2 = {"name": "komisija2", "value": [], "scope": "local"};242 var keys = Object.keys(fc.formData);243 for(var key in keys){244 var k = keys[key];245 var temp = {};246 temp.id = k;247 temp.value = fc.formData[k];248 obj.value.push(fc.mails[temp.value]);249 obj2.value.push(temp.value);250 }251 properties.push(obj);252 properties.push(obj2);253 rootService.setVariable(fc.processInstanceId, properties);254 $timeout(fc.submit, 500);255 }else if(fc.taskName == "Zakazi vreme i mesto odbrane"){ 256 var vo = fc.formData.vreme_odbrane;257 fc.formData.vreme_odbrane = vo.getDate() + "-" + vo.getMonth() + "-" + vo.getFullYear() + " " + vo.getHours() + ":" + vo.getMinutes();258 console.log(fc.formData.vreme_odbrane);259 var properties = [];260 vo = vo.toISOString();261 var obj5 = {"name": "prisutnih", "value": 0, "scope": "local", "type": "integer"};262 var obj6 = {"name": "pravo_vreme", "value": vo, "scope": "local", "type": "date"};263 properties.push(obj5);264 properties.push(obj6);265 rootService.setVariable(fc.processInstanceId, properties);266 $timeout(fc.submit, 500);267 }else if(fc.taskName == "Clanovi potvrdjuju prisustvo"){268 rootService.getVariable(fc.processInstanceId, "prisutnih").then(function(response){269 console.log("Pre: " + response.value);270 var pris = response.value + 1;271 console.log("Posle: " + pris);272 if(!fc.formData.prisustvo)273 pris -=1;274 var properties = [];275 var obj5 = {"name": "prisutnih", "value": pris, "scope": "local", "type": "integer"};276 properties.push(obj5);277 rootService.setVariable(fc.processInstanceId, properties);278 $timeout(fc.submit, 500);279 });280 }else{281 fc.submit();282 }283 284 }285 }...
root.test.js
Source:root.test.js
1const sinon = require('sinon');2const { expect } = require('chai');3const RootService = require('../../src/services/_root');4describe('Tests _root service', () => {5 let Controller = null;6 let rootService = null;7 beforeEach(() => {8 Controller = {9 readRecords: sinon.spy(() => [10 {11 id: 1,12 _id: 'ki_df;kld',13 },14 {15 id: 2,16 _id: 'scala_euro_ewk',17 },18 ]),19 };20 rootService = new RootService();21 });22 afterEach(() => {23 Controller = null;24 rootService = null;25 });26 it('calls Controller.readRecords', () => {27 rootService.handleDatabaseRead({ Controller, queryOptions: {} });28 sinon.assert.called(Controller.readRecords);29 });30 it('does not process single reads for invalid data', () => {31 const sampleData = {};32 const result = rootService.processSingleRead(sampleData);33 expect(result).to.have.ownProperty('status').to.be.equal(404);34 });35 it('processes single reads', () => {36 const sampleData = { id: 1, _id: 'scala_on_+bean' };37 const result = rootService.processSingleRead(sampleData);38 expect(result).to.have.ownProperty('status').to.be.equal(200);39 });40 it('does not process multiple read results for invalid data', () => {41 const sampleData = null;42 const result = rootService.processMultipleReadResults(sampleData);43 expect(result).to.have.property('status').to.be.equal(404);44 });45 it('process multiple read results for empty data', () => {46 const sampleData = [];47 const result = rootService.processMultipleReadResults(sampleData);48 expect(result).to.have.property('status').to.be.equal(200);49 });50 it('process multiple read results for non-empty data', () => {51 const sampleData = [{ id: 1, _id: 'just-a_test_string' }];52 const result = rootService.processMultipleReadResults(sampleData);53 expect(result).to.have.property('status').to.be.equal(200);54 });55 it('returns error for null data', () => {56 const sampleData = null;57 const result = rootService.processUpdateResult({ ...sampleData });58 expect(result).to.have.property('error').to.be.a('string');59 });60 it('returns payload for no change in data', () => {61 const sampleData = { ok: 1, nModified: 0 };62 const result = rootService.processUpdateResult({ result: sampleData });63 expect(result).to.have.property('status').to.be.equal(204);64 });65 it('returns valid response for updated data', () => {66 const sampleData = { ok: 1, nModified: 1 };67 const result = rootService.processUpdateResult({68 result: sampleData,69 eventName: 'sampleEventName',70 });71 expect(result).to.have.property('error').to.be.null;72 });73 it('just using this to fire the Logger error event for testing', () => {74 const sampleData = { ok: 1, nModified: 1 };75 const result = rootService.processUpdateResult({ result: sampleData, eventName: 'error' });76 expect(result).to.have.property('error').to.be.null;77 });78 it('returns valid response for successful delete', () => {79 const sampleData = { ok: 1, nModified: 1 };80 const result = rootService.processDeleteResult(sampleData);81 expect(result).to.have.property('error').to.be.null;82 });83 it('returns valid response for unsuccessful delete', () => {84 const sampleData = { ok: 1, nModified: 0 };85 const result = rootService.processDeleteResult(sampleData);86 expect(result).to.have.property('payload').to.be.null;87 });88 it('returns correct failed response', () => {89 const message = 'Request failed';90 const response = rootService.processFailedResponse({ message });91 expect(response).is.an('object').has.property('error').that.is.equal(message);92 });93 it('returns correct success response', () => {94 const payload = {};95 const response = rootService.processSuccessfulResponse({ ...payload });96 expect(response).to.have.property('error').that.is.null;97 });...
admin-root.component.ts
Source:admin-root.component.ts
1import {Component, OnDestroy, OnInit} from '@angular/core';2import {ActivatedRoute, Router} from '@angular/router';3import {DialogOverlayService} from '@app/modules/dialog-overlay';4import {AdminRootService, AdminRootServiceEditData, AppService, NotifyService} from '@core/services';5import {Jam, RootScanStrategy} from '@jam';6import {DialogsService} from '@shared/services';7import {Subject} from 'rxjs';8import {takeUntil} from 'rxjs/operators';9import {DialogRootComponent} from '../dialog-root/dialog-root.component';10@Component({11 selector: 'app-admin-root',12 templateUrl: './admin-root.component.html',13 styleUrls: ['./admin-root.component.scss']14})15export class AdminRootComponent implements OnInit, OnDestroy {16 roots?: Array<Jam.Root>;17 protected unsubscribe = new Subject();18 constructor(19 private router: Router,20 private route: ActivatedRoute,21 private app: AppService,22 private notify: NotifyService,23 private dialogs: DialogsService,24 private rootService: AdminRootService,25 private dialogOverlay: DialogOverlayService26 ) {27 }28 static getSortValue(column: string, root: Jam.Root): string | number | undefined {29 switch (column) {30 case 'name':31 return root.name;32 case 'path':33 return root.path;34 default:35 return;36 }37 }38 ngOnInit(): void {39 this.rootService.rootsChange40 .pipe(takeUntil(this.unsubscribe)).subscribe(41 roots => {42 this.roots = (roots || []).sort((a, b) => a.name.localeCompare(b.name));43 },44 e => {45 this.notify.error(e);46 });47 this.rootService.refreshRoots();48 }49 ngOnDestroy(): void {50 this.unsubscribe.next();51 this.unsubscribe.complete();52 }53 refresh(): void {54 this.rootService.refreshRoots();55 }56 newRoot(): void {57 const edit: AdminRootServiceEditData = {58 name: '',59 path: '',60 strategy: RootScanStrategy.auto61 };62 this.dialogOverlay.open({63 title: 'New Root',64 childComponent: DialogRootComponent,65 data: edit,66 onOkBtn: async () => {67 try {68 await this.rootService.applyDialogRoot(edit);69 } catch (e: any) {70 this.notify.error(e);71 return Promise.reject(e);72 }73 },74 onCancelBtn: async () => Promise.resolve()75 });76 }77 refreshRoots(): void {78 this.rootService.rescanRoots();79 }...
Using AI Code Generation
1describe('RootService test', () => {2 let rootService: RootService;3 beforeEach(() => {4 TestBed.configureTestingModule({5 imports: [HttpClientModule],6 });7 rootService = TestBed.inject(RootService);8 });9 it('should call rootService', () => {10 const spy = spyOn(rootService, 'get').and.callThrough();11 rootService.get();12 expect(spy).toHaveBeenCalled();13 });14});15@Injectable()16export class RootService {17 constructor(private http: HttpClient) {}18 public get() {19 }20}
Using AI Code Generation
1var rootService = ngMocks.rootService;2var service = rootService('service');3var mockService = ngMocks.mockService;4var service = mockService('service');5var mockProvider = ngMocks.mockProvider;6var service = mockProvider('service');7var mockPipe = ngMocks.mockPipe;8var pipe = mockPipe('pipe');9var mockDirective = ngMocks.mockDirective;10var directive = mockDirective('directive');11var mockComponent = ngMocks.mockComponent;12var component = mockComponent('component');13var mockModule = ngMocks.mockModule;14var module = mockModule('module');15var mockInstance = ngMocks.mockInstance;16var instance = mockInstance('instance');17var mockProvider = ngMocks.mockProvider;18var provider = mockProvider('provider');19var mockRender = ngMocks.mockRender;20var component = mockRender('component');21var mockReset = ngMocks.mockReset;22var reset = mockReset();23var mock = ngMocks.mock;24var mock = mock('mock');
Using AI Code Generation
1describe('test', function() {2 beforeEach(function() {3 module('ngMock');4 module('app');5 });6 it('test', function() {7 var $httpBackend = rootService('$httpBackend');8 $httpBackend.when('GET', '/api/user').respond({9 });10 $httpBackend.expectGET('/api/user');11 $httpBackend.verifyNoOutstandingExpectation();12 $httpBackend.verifyNoOutstandingRequest();13 });14});15describe('test', function() {16 beforeEach(function() {17 module('ngMock');18 module('app');19 });20 it('test', function() {21 var $httpBackend = rootService('$httpBackend');22 $httpBackend.when('GET', '/api/user').respond({23 });24 $httpBackend.expectGET('/api/user');25 $httpBackend.verifyNoOutstandingExpectation();26 $httpBackend.verifyNoOutstandingRequest();27 });28});29describe('test', function() {30 beforeEach(function() {31 module('ngMock');32 module('app');33 });34 it('test', function() {35 var $httpBackend = rootService('$httpBackend');36 $httpBackend.when('GET', '/api/user').respond({37 });38 $httpBackend.expectGET('/api/user');39 $httpBackend.verifyNoOutstandingExpectation();40 $httpBackend.verifyNoOutstandingRequest();41 });42});43describe('test', function() {44 beforeEach(function() {45 module('ngMock');46 module('app');47 });48 it('test', function() {49 var $httpBackend = rootService('$httpBackend');50 $httpBackend.when('GET', '/api/user').respond({51 });52 $httpBackend.expectGET('/api/user
Using AI Code Generation
1describe('RootService', function() {2 var rootService;3 beforeEach(function() {4 rootService = ngMocks.mock('RootService');5 });6 it('should call method', function() {7 rootService.method();8 expect(rootService.method).toHaveBeenCalled();9 });10 it('should call method with params', function() {11 rootService.method('test');12 expect(rootService.method).toHaveBeenCalledWith('test');13 });14 it('should return value', function() {15 rootService.method.and.returnValue('test');16 expect(rootService.method()).toEqual('test');17 });18});19describe('RootService', function() {20 var rootService;21 beforeEach(function() {22 rootService = ngMocks.mock('RootService');23 });24 it('should call method', function() {25 rootService.method();26 expect(rootService.method).toHaveBeenCalled();27 });28 it('should call method with params', function() {29 rootService.method('test');30 expect(rootService.method).toHaveBeenCalledWith('test');31 });32 it('should return value', function() {33 rootService.method.and.returnValue('test');34 expect(rootService.method()).toEqual('test');35 });36});37describe('RootService', function() {38 var rootService;39 beforeEach(function() {40 rootService = ngMocks.mock('RootService');41 });42 it('should call method', function() {43 rootService.method();44 expect(rootService.method).toHaveBeenCalled();45 });46 it('should call method with params', function() {47 rootService.method('test');48 expect(rootService.method).toHaveBeenCalledWith('test');49 });50 it('should return value', function() {51 rootService.method.and.returnValue('test');52 expect(rootService.method()).toEqual('test');53 });54});55describe('RootService', function() {56 var rootService;57 beforeEach(function() {58 rootService = ngMocks.mock('RootService');59 });60 it('should call method', function() {61 rootService.method();62 expect(rootService.method).toHaveBeenCalled();63 });64 it('should call method with params', function() {65 rootService.method('test');66 expect(rootService.method).toHaveBeenCalledWith('test');67 });
Using AI Code Generation
1describe('test', function () {2 beforeEach(angular.mock.module('myApp'));3 var rootService;4 beforeEach(angular.mock.inject(function ($injector) {5 rootService = $injector.get('rootService');6 }));7 it('should call rootService', function () {8 rootService.method();9 });10});
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!