Best JavaScript code snippet using devicefarmer-stf
group-list-controller.js
Source:group-list-controller.js
...60 incrStateStats(oldGroup, -1)61 }62 }63 }64 function updateGroupExtraProperties(group) {65 const status = {pending: 'Pending', waiting: 'Waiting', ready: 'Ready'}66 group.status = group.isActive ? 'Active' : status[group.state]67 group.startTime = $filter('date')(group.dates[0].start, SettingsService.get('dateFormat'))68 group.stopTime = $filter('date')(group.dates[0].stop, SettingsService.get('dateFormat'))69 }70 function updateQuotaBar(bar, consumed, allocated) {71 bar.value = (consumed / allocated) * 100 | 072 if (bar.value < 25) {73 bar.type = 'success'74 }75 else if (bar.value < 50) {76 bar.type = 'info'77 }78 else if (bar.value < 75) {79 bar.type = 'warning'80 }81 else {82 bar.type = 'danger'83 }84 }85 function updateQuotaBars() {86 updateQuotaBar(87 $scope.numberBar88 , $scope.user.groups.quotas.consumed.number89 , $scope.user.groups.quotas.allocated.number90 )91 updateQuotaBar(92 $scope.durationBar93 , $scope.user.groups.quotas.consumed.duration94 , $scope.user.groups.quotas.allocated.duration95 )96 }97 function addGroup(group, timeStamp) {98 if (CommonService.add(99 $scope.groups100 , groupsById101 , group102 , 'id'103 , timeStamp)) {104 $scope.groupsEnv[group.id] = {105 devices: []106 , users: []107 }108 groupsEnv[group.id] = {109 devicesBySerial: {}110 , usersByEmail: {}111 }112 updateStateStats(null, group)113 updateGroupExtraProperties(group)114 return group115 }116 return null117 }118 function updateGroup(group, timeStamp) {119 return CommonService.update(120 $scope.groups121 , groupsById122 , group123 , 'id'124 , timeStamp)125 }126 function deleteGroup(id, timeStamp) {127 const group = CommonService.delete(128 $scope.groups129 , groupsById130 , id131 , timeStamp)132 if (group) {133 updateStateStats(group, null)134 delete $scope.groupsEnv[group.id]135 delete groupsEnv[group.id]136 }137 return group138 }139 function addUser(user, timeStamp) {140 if (CommonService.add(141 users142 , usersByEmail143 , user144 , 'email'145 , timeStamp146 ) && typeof groupUserToAdd[user.email] !== 'undefined') {147 addGroupUser(148 groupUserToAdd[user.email].id149 , user.email150 , groupUserToAdd[user.email].timeStamp)151 delete groupUserToAdd[user.email]152 }153 }154 function deleteUser(email, timeStamp) {155 return CommonService.delete(156 users157 , usersByEmail158 , email159 , timeStamp)160 }161 function addDevice(device, timeStamp) {162 return CommonService.add(163 devices164 , devicesBySerial165 , device166 , 'serial'167 , timeStamp)168 }169 function updateDevice(device, timeStamp) {170 return CommonService.update(171 devices172 , devicesBySerial173 , device174 , 'serial'175 , timeStamp)176 }177 function deleteDevice(serial, timeStamp) {178 return CommonService.delete(179 devices180 , devicesBySerial181 , serial182 , timeStamp)183 }184 function addGroupUser(id, email, timeStamp) {185 if (CommonService.isExisting(usersByEmail[email])) {186 CommonService.add(187 $scope.groupsEnv[id].users188 , groupsEnv[id].usersByEmail189 , users[usersByEmail[email].index]190 , 'email'191 , timeStamp)192 }193 else {194 groupUserToAdd[email] = {id: id, timeStamp: timeStamp}195 }196 }197 function deleteGroupUser(id, email, timeStamp) {198 CommonService.delete(199 $scope.groupsEnv[id].users200 , groupsEnv[id].usersByEmail201 , email202 , timeStamp)203 }204 function addGroupDevice(id, serial, timeStamp) {205 if (CommonService.isExisting(devicesBySerial[serial])) {206 CommonService.add(207 $scope.groupsEnv[id].devices208 , groupsEnv[id].devicesBySerial209 , devices[devicesBySerial[serial].index]210 , 'serial'211 , timeStamp)212 }213 else {214 GroupsService.getGroupDevice(id, serial, deviceFields)215 .then(function(response) {216 if (addDevice(response.data.device, timeStamp)) {217 CommonService.add(218 $scope.groupsEnv[id].devices219 , groupsEnv[id].devicesBySerial220 , devices[devicesBySerial[serial].index]221 , 'serial'222 , timeStamp)223 }224 })225 }226 }227 function deleteGroupDevice(id, serial, timeStamp) {228 CommonService.delete(229 $scope.groupsEnv[id].devices230 , groupsEnv[id].devicesBySerial231 , serial232 , timeStamp)233 }234 function updateGroupDevices(group, isAddedDevice, devices, timeStamp) {235 if (devices.length) {236 if (isAddedDevice) {237 devices.forEach(function(serial) {238 addGroupDevice(group.id, serial, timeStamp)239 })240 }241 else {242 devices.forEach(function(serial) {243 deleteGroupDevice(group.id, serial, timeStamp)244 })245 }246 }247 }248 function updateGroupUsers(group, isAddedUser, users, timeStamp) {249 if (users.length) {250 if (isAddedUser) {251 users.forEach(function(email) {252 addGroupUser(group.id, email, timeStamp)253 })254 }255 else {256 users.forEach(function(email) {257 deleteGroupUser(group.id, email, timeStamp)258 })259 }260 }261 }262 function initScope() {263 GroupsService.getOboeGroups(function(group) {264 addGroup(group, -1)265 })266 .done(function() {267 $scope.$digest()268 })269 UserService.getUser().then(function(response) {270 $scope.user = response.data.user271 updateQuotaBars()272 })273 UsersService.getOboeUsers(userFields, function(user) {274 addUser(user, -1)275 })276 }277 $scope.scopeGroupListCtrl = $scope278 $scope.sortBy = CommonService.sortBy279 $scope.getDuration = CommonService.getDuration280 $scope.getClassName = CommonService.getClassName281 $scope.user = UserService.currentUser282 $scope.numberBar = {}283 $scope.durationBar = {}284 $scope.groupsEnv = {}285 $scope.groups = []286 $scope.activeGroups = $scope.readyGroups = $scope.pendingGroups = 0287 $scope.itemsPerPageOptions = ItemsPerPageOptionsService288 SettingsService.bind($scope, {289 target: 'groupItemsPerPage'290 , source: 'groupViewItemsPerPage'291 , defaultValue: $scope.itemsPerPageOptions[2]292 })293 $scope.groupColumns = [294 {name: 'Status', property: 'status'}295 , {name: 'Name', property: 'name'}296 , {name: 'Identifier', property: 'id'}297 , {name: 'Owner', property: 'owner.name'}298 , {name: 'Devices', property: 'devices.length'}299 , {name: 'Users', property: 'users.length'}300 , {name: 'Class', property: 'class'}301 , {name: 'Repetitions', property: 'repetitions'}302 , {name: 'Duration', property: 'duration'}303 , {name: 'Starting Date', property: 'startTime'}304 , {name: 'Expiration Date', property: 'stopTime'}305 ]306 $scope.defaultGroupData = {307 columns: [308 {name: 'Status', selected: true, sort: 'none'}309 , {name: 'Name', selected: true, sort: 'sort-asc'}310 , {name: 'Identifier', selected: false, sort: 'none'}311 , {name: 'Owner', selected: true, sort: 'none'}312 , {name: 'Devices', selected: true, sort: 'none'}313 , {name: 'Users', selected: true, sort: 'none'}314 , {name: 'Class', selected: true, sort: 'none'}315 , {name: 'Repetitions', selected: true, sort: 'none'}316 , {name: 'Duration', selected: true, sort: 'none'}317 , {name: 'Starting Date', selected: true, sort: 'none'}318 , {name: 'Expiration Date', selected: true, sort: 'none'}319 ]320 , sort: {index: 1, reverse: false}321 }322 SettingsService.bind($scope, {323 target: 'groupData'324 , source: 'groupData'325 , defaultValue: $scope.defaultGroupData326 })327 $scope.mailToGroupOwners = function(groups) {328 CommonService.copyToClipboard(_.uniq(groups.map(function(group) {329 return group.owner.email330 }))331 .join(SettingsService.get('emailSeparator')))332 .url('mailto:?body=*** Paste the email addresses from the clipboard! ***')333 }334 $scope.mailToGroupUsers = function(group, users) {335 // group unused actually..336 CommonService.copyToClipboard(users.map(function(user) {337 return user.email338 })339 .join(SettingsService.get('emailSeparator')))340 .url('mailto:?body=*** Paste the email addresses from the clipboard! ***')341 }342 $scope.getTooltip = function(objects) {343 var tooltip = ''344 objects.forEach(function(object) {345 tooltip += object + '\n'346 })347 return tooltip348 }349 $scope.resetData = function() {350 $scope.groupData = JSON.parse(JSON.stringify($scope.defaultGroupData))351 }352 $scope.initGroupUsers = function(group) {353 if (typeof $scope.groupsEnv[group.id].userCurrentPage === 'undefined') {354 $scope.groupsEnv[group.id].userCurrentPage = 1355 $scope.groupsEnv[group.id].userItemsPerPage = $scope.itemsPerPageOptions[1]356 }357 group.users.forEach(function(email) {358 addGroupUser(group.id, email, -1)359 })360 }361 $scope.initGroupDevices = function(group) {362 if (typeof $scope.groupsEnv[group.id].deviceCurrentPage === 'undefined') {363 $scope.groupsEnv[group.id].deviceCurrentPage = 1364 $scope.groupsEnv[group.id].deviceItemsPerPage = $scope.itemsPerPageOptions[1]365 }366 GroupsService.getOboeGroupDevices(group.id, false, deviceFields, function(device) {367 addDevice(device, -1)368 addGroupDevice(group.id, device.serial, -1)369 })370 .done(function() {371 $scope.$digest()372 })373 }374 $scope.$on('user.view.groups.created', function(event, message) {375 addGroup(message.group, message.timeStamp)376 })377 $scope.$on('user.view.groups.deleted', function(event, message) {378 deleteGroup(message.group.id, message.timeStamp)379 })380 $scope.$on('user.view.groups.updated', function(event, message) {381 if (CommonService.isExisting(groupsById[message.group.id])) {382 if (message.group.users.indexOf(UserService.currentUser.email) < 0) {383 deleteGroup(message.group.id, message.timeStamp)384 }385 else {386 updateStateStats($scope.groups[groupsById[message.group.id].index], message.group)387 updateGroupDevices(message.group, message.isAddedDevice, message.devices, message.timeStamp)388 updateGroupUsers(message.group, message.isAddedUser, message.users, message.timeStamp)389 updateGroup(message.group, message.timeStamp)390 updateGroupExtraProperties($scope.groups[groupsById[message.group.id].index])391 }392 }393 else {394 addGroup(message.group, message.timeStamp)395 }396 })397 $scope.$on('user.settings.users.created', function(event, message) {398 addUser(message.user, message.timeStamp)399 })400 $scope.$on('user.settings.users.deleted', function(event, message) {401 deleteUser(message.user.email, message.timeStamp)402 })403 $scope.$on('user.view.users.updated', function(event, message) {404 if (message.user.email === $scope.user.email) {...
Using AI Code Generation
1var client = require('devicefarmer-stf-client');2var client = new client();3client.updateGroupExtraProperties(1, {test: 'test'});4var client = require('devicefarmer-stf-client');5var client = new client();6client.updateGroupExtraProperties(1, {test: 'test'});7var client = require('devicefarmer-stf-client');8var client = new client();9client.updateGroupExtraProperties(1, {test: 'test'});10var client = require('devicefarmer-stf-client');11var client = new client();12client.updateGroupExtraProperties(1, {test: 'test'});13var client = require('devicefarmer-stf-client');14var client = new client();15client.updateGroupExtraProperties(1, {test: 'test'});16var client = require('devicefarmer-stf-client');17var client = new client();18client.updateGroupExtraProperties(1, {test: 'test'});19var client = require('devicefarmer-stf-client');20var client = new client();21client.updateGroupExtraProperties(1, {test: 'test'});22var client = require('devicefarmer-stf-client');23var client = new client();24client.updateGroupExtraProperties(1, {test: 'test'});25var client = require('devicefarmer-stf-client');26var client = new client();27client.updateGroupExtraProperties(1, {test: 'test'});
Using AI Code Generation
1var stf = require('devicefarmer-stf');2var group = client.group('group name');3group.updateGroupExtraProperties('{"key1": "value1", "key2": "value2"}', function(err, res){4 if(err){5 console.log(err);6 }7 else{8 console.log(res);9 }10});11var stf = require('devicefarmer-stf');12var group = client.group('group name');13group.updateGroupExtraProperties('{"key1": "value1", "key2": "value2"}', function(err, res){14 if(err){15 console.log(err);16 }17 else{18 console.log(res);19 }20});21var stf = require('devicefarmer-stf');22var group = client.group('group name');23group.updateGroupExtraProperties('{"key1": "value1", "key2": "value2"}', function(err, res){24 if(err){25 console.log(err);26 }27 else{28 console.log(res);29 }30});31var stf = require('devicefarmer-stf');32var group = client.group('group name');33group.updateGroupExtraProperties('{"key1": "value1", "key2": "value2"}', function(err, res){34 if(err){35 console.log(err);36 }37 else{38 console.log(res);39 }40});41var stf = require('devicefarmer-stf');42var group = client.group('group name');43group.updateGroupExtraProperties('{"key1": "value1", "key2": "value2"}', function(err, res){
Using AI Code Generation
1var df = require('devicefarmer-stf-device-api');2var group = new df.Group(1);3group.updateGroupExtraProperties({ "test": "test" }, function (err, data) {4 if (err) {5 console.log("Error: " + err);6 }7 else {8 console.log("Success: " + data);9 }10});11Success: { "test": "test" }12Success: { "test": "test" }13Success: { "test": "test" }14Success: { "test": "test" }
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!!