Best JavaScript code snippet using testcafe
user_creategroup.js
Source:user_creategroup.js  
1User.CreateGroup = {};23User.CreateGroup.Errors = [];45User.CreateGroup.PhotoURL = "";67User.CreateGroup.Init = function()8{9  DOM.Hide('message_form');10  DOM.Hide('messageform_divider');11  DOM.Hide('message_filters');12  DOM.Hide('message_filter_container');13  DOM.Hide('show_timeline_filters');14  DOM.Hide('hide_timeline_filters');15  DOM.Hide('user_filter_container');16  DOM.Hide('people_friends');17  DOM.Hide('people_subscriptions');18  DOM.Hide('people_subscribers');19  DOM.Hide('groups_publicgroups');20  DOM.Hide('groups_privategroups');21  Lib.InitLocation(User.CreateGroup,countries,states,cities);22  var head = document.getElementById('content_header');23  if (head)24  {25    var htm = "Create a Group";26    head.innerHTML = htm;27  }28  User.CreateGroup.ListOpen = false;29}3031User.CreateGroup.AddError = function(message)32{33  User.CreateGroup.Errors.push(message);34}3536User.CreateGroup.ShowErrors = function()37{38  var str = "There are errors in your form. Please check the following and try again:\n\n";39  for (var err in User.CreateGroup.Errors)40  {41    str += "- " + User.CreateGroup.Errors[err] + ".\n";42  }43  alert(str);44  User.CreateGroup.Errors = [];45}4647User.CreateGroup.ChangeCountry = function(obj)48{49  Lib.ChangeCountry(User.CreateGroup,obj);50}5152User.CreateGroup.ChangeState = function(obj,country)53{54  Lib.ChangeState(User.CreateGroup,obj);55}5657User.CreateGroup.TagCount = function(e,obj)58{59  function disallow()60  {61    var st = obj.scrollTop;62    obj.value = obj.value.substr(0,TAGLENGTH);63    obj.scrollTop = st;64  }6566  if (window.event) key = window.event.keyCode;67  else key = e.which;6869  var counter = document.getElementById('tag_count');70  if (counter)71  {72    if (obj.value.length > TAGLENGTH) disallow();73    else counter.innerHTML = TAGLENGTH-obj.value.length;74  }75}7677/******************************************************************************/7879User.CreateGroup.CheckName = function()80{81  function ret(response)82  {83    DOM.Hide('user_loading');84    if (response=='ok')85    {86      DOM.Show('name_valid');87      DOM.Hide('name_invalid');88    }89    else90    {91      DOM.Hide('name_valid');92      DOM.Show('name_invalid');93    }94  }9596  User.CreateGroup.Validate.Name();97  if (User.CreateGroup.Errors.length>0)98  {99    alert(User.CreateGroup.Errors[0]);100    User.CreateGroup.Errors = [];101  }102  else103  {104    var params = "isajax=1";105    params += "&name="+document.getElementById('group_name').value.trim();106    var group = new Ajax(ret);107    DOM.Show('user_loading');108    group.sendPostRequest('ajax/check_name',params);109  }110  return false;111}112113User.CreateGroup.Count = function(e,obj,divid)114{115  function disallow()116  {117    var st = obj.scrollTop;118    obj.value = obj.value.substr(0,GROUPLENGTH);119    obj.scrollTop = st;120  }121122  if (window.event) key = window.event.keyCode;123  else key = e.which;124125  var counter = document.getElementById(divid);126  if (counter)127  {128    if (key==13)129    {130      obj.value = obj.value.replace(/\n/g,'');131      var submitbtn = document.getElementById('group_submit');132      if (submitbtn) submitbtn.click();133    }134    else if (obj.value.length > GROUPLENGTH) disallow();135    else counter.innerHTML = GROUPLENGTH-obj.value.length;136  }137}138139User.CreateGroup.ChangePrivacy = function(privacy)140{141  var head = document.getElementById('content_header');142  if (head)143  {144    var htm = "Groups » Create a Group » ";145    htm += ((privacy=='private') ? "Private Group" : "Public Group");146    head.innerHTML = htm;147  }148  if (privacy=='private')149  {150    DOM.Hide('announce_group');151    alert("Please note: PRIVATE groups will always remain private - they cannot be changed to PUBLIC groups");152  }153  else DOM.Show('announce_group');154}155156User.CreateGroup.FormSubmit = function()157{158  User.CreateGroup.Validate.Name();159  User.CreateGroup.Validate.Description();160  User.CreateGroup.Validate.Category();161  User.CreateGroup.Validate.Photo();162  if (User.CreateGroup.Errors.length == 0)163  {164    var url = "user/save_group";165    var params = "isajax=1";166    params += "&groupname="+document.getElementById('group_name').value.trim();167    params += "&name=" + document.getElementById('name').value.trim();168    params += "&showname=" + (document.getElementById('show_name').checked ? '1' : '0');169    params += "&description="+document.getElementById('group_description').value.trim();170    params += "&category="+document.getElementById('group_category').value;171    params += "&website="+document.getElementById('group_website').value.trim();172    params += "&country="+document.getElementById('country').value.trim();173    params += "&state="+document.getElementById('state').value.trim();174    params += "&city="+document.getElementById('city').value.trim();175    params += "&photo="+User.CreateGroup.PhotoURL;176    if (Forms.Ischecked('group_private'))177    {178      params += "&visibility=private";179      params += "&announce=0";180    }181    else182    {183      params += "&visibility=public";184      params += "&announce="+Forms.Ischecked('group_announce');185    }186    params += "&tags="+document.getElementById('group_tags').value.trim();187    if (Forms.Ischecked('group_invite_none')) params += "&invite=none";188    else if (Forms.Ischecked('group_invite_friends')) params += "&invite=friends";189    else if (Forms.Ischecked('group_invite_list'))190    {191      var div = document.getElementById('invite_friend_list');192      var list = div.getElementsByTagName('input');193      var inv = [];194      for (var c=0;c<list.length;c++)195      {196        if (list[c].checked) inv.push(list[c].value);197      }198      if (inv.length>0)199      {200        params += "&invite=list&invitelist="+inv.toString();201      }202      else params += "&invite=none";203    }204    else params += "&invite=all";205206    var group = new Ajax(User.CreateGroup.Create);207    DOM.Show('user_loading');208    group.sendPostRequest(url,params);209  }210  else211  {212    User.CreateGroup.ShowErrors();213  }214  return false;215}216217User.CreateGroup.PhotoPreview = function()218{219  DOM.Show('user_loading');220}221222User.CreateGroup.CancelPhoto = function()223{224  User.CreateGroup.PhotoURL = "";225  var pic = document.getElementById('group_photo');226  DOM.Hide(pic.id);227  pic.style.width = 'auto';228  pic.style.height = 'auto';229  pic.src = "";230  DOM.Hide('group_photo_container');231  User.CreateGroup.PhotoCanceled = true;232  return false;233}234235User.CreateGroup.PhotoReturn = function()236{237  function resize_pic()238  {239    DOM.Show('group_photo_container');240    DOM.Show(pic.id);241    var w = pic.offsetWidth;242    var h = pic.offsetHeight;243    DOM.Hide(pic.id);244    if (w>270 || h>270)245    {246      var adj = 1;247      if (w > h)248      {249        adj = 270/w;250      }251      else252      {253        adj = 270/h;254      }255      pic.style.height = (Math.floor(h*adj))+'px';256      pic.style.width = (Math.floor(w*adj))+'px';257    }258    DOM.Show(pic.id);259    DOM.Hide('group_photo_form');260    DOM.Hide('user_loading');261  }262263  DOM.Hide('user_loading');264  var d = new Date();265  var pic = document.getElementById('group_photo');266  DOM.Hide(pic.id);267  pic.style.width = 'auto';268  pic.style.height = 'auto';269  pic.onload = resize_pic;270  pic.src = HTTP_BASE + "file_temp/"+User.CreateGroup.PhotoURL+"?x="+d.getTime();271  User.CreateGroup.PhotoCanceled = false;272}273274User.CreateGroup.PhotoError = function(err)275{276  DOM.Hide('user_loading');277  alert(err);278}279280User.CreateGroup.Create = function(response)281{282  DOM.Hide('user_loading');283  if (response.substr(0,2)=='ok')284  {285    var r = response.split('_');286    User.CreateGroup.GroupID = r[1];287    DOM.Hide('group_form');288    DOM.Show('group_done');289    User.ResetLeftNav();290  }291  else292  {293    User.CreateGroup.Errors = response.jsonParse();294    if (User.CreateGroup.Errors.length > 0) User.CreateGroup.ShowErrors();295    else alert("Unknown error:\n\n"+response);296  }297}298299User.CreateGroup.FriendList = function(obj)300{301  if (obj.id=='group_invite_list')302  {303    if (!User.CreateGroup.ListOpen) DOM.Open('invite_friend_list');304    User.CreateGroup.ListOpen = true;305  }306  else307  {308    if (User.CreateGroup.ListOpen) DOM.Close('invite_friend_list');309    User.CreateGroup.ListOpen = false;310  }311}312313User.CreateGroup.GoToGroup = function()314{315  location = "groups/view/"+User.CreateGroup.GroupID;316  return false;317}318319/******************************************************************************/320321User.CreateGroup.Validate = {};322323User.CreateGroup.Validate.Name = function()324{325  var group_name = document.getElementById('group_name');326  if (group_name)327  {328    if (group_name.value.trim().match(/^[_a-zA-Z0-9-]{3,20}$/))329    {330      return true;331    }332    else User.CreateGroup.AddError('Please enter a valid user name: 3-20 characters, use only letters, numbers, underscore, or hyphen. No spaces. No period.');333  }334  else User.CreateGroup.AddError('Unable to read group name');335  return false;336}337338User.CreateGroup.Validate.Description = function()339{340  var text = document.getElementById('group_description');341  if (text)342  {343    if (text.value.trim()!="")344    {345      return true;346    }347    else User.CreateGroup.AddError('Please tell us \"About\" your group');348  }349  else User.CreateGroup.AddError('Unable to read description');350  return false;351}352353User.CreateGroup.Validate.Category = function()354{355  var category = document.getElementById('group_category');356  if (category)357  {358    if (category.value>0)359    {360      return true;361    }362    else User.CreateGroup.AddError('Please select a category');363  }364  else User.CreateGroup.AddError('Unable to read category');365  return false;366}367368User.CreateGroup.Validate.Photo = function()369{370  var photo = document.getElementById('photo_file_source');371  if (photo)372  {373    if (photo.value=="")374    {375      return true;376    }377    else378    {379      if (User.CreateGroup.PhotoURL!="" || User.CreateGroup.PhotoCanceled)380      {381        return true;382      }383      else384      {385        User.CreateGroup.AddError('Please select a group profile photo and click "Preview"');386      }387    }388  }389  else User.CreateGroup.AddError('Unable to read photo form');390  return false;391}392393/******************************************************************************/
...AccordionSpec.js
Source:AccordionSpec.js  
...29    };30    model = $.extend({}, defaults, model);31    return scout.create('Accordion', model);32  }33  function createGroup(model) {34    let defaults = {35      parent: session.desktop36    };37    model = $.extend({}, defaults, model);38    return scout.create('Group', model);39  }40  describe('insertGroups', () => {41    it('inserts the given groups', () => {42      let accordion = createAccordion(0);43      let group0 = createGroup();44      let group1 = createGroup();45      let group2 = createGroup();46      expect(accordion.groups.length).toBe(0);47      accordion.insertGroups(group0);48      expect(accordion.groups.length).toBe(1);49      expect(accordion.groups[0]).toBe(group0);50      accordion.insertGroups([group1, group2]);51      expect(accordion.groups.length).toBe(3);52      expect(accordion.groups[0]).toBe(group0);53      expect(accordion.groups[1]).toBe(group1);54      expect(accordion.groups[2]).toBe(group2);55    });56    it('triggers a property change event', () => {57      let accordion = createAccordion(0);58      let group0 = createGroup();59      let eventTriggered = false;60      accordion.on('propertyChange', event => {61        if (event.propertyName === 'groups') {62          eventTriggered = true;63        }64      });65      accordion.insertGroups(group0);66      expect(eventTriggered).toBe(true);67    });68    it('links the inserted groups with the groups container', () => {69      let accordion = createAccordion(0);70      let group0 = createGroup();71      let group1 = createGroup();72      let group2 = createGroup();73      expect(accordion.groups.length).toBe(0);74      expect(group0.parent).toBe(session.desktop);75      expect(group1.parent).toBe(session.desktop);76      expect(group2.parent).toBe(session.desktop);77      accordion.insertGroup(group0);78      expect(group0.parent).toBe(accordion);79      accordion.insertGroups([group1, group2]);80      expect(group1.parent).toBe(accordion);81      expect(group2.parent).toBe(accordion);82    });83  });84  describe('deleteGroups', () => {85    it('deletes the given groups', () => {86      let accordion = createAccordion(0);87      let group0 = createGroup();88      let group1 = createGroup();89      let group2 = createGroup();90      accordion.insertGroups([group0, group1, group2]);91      expect(accordion.groups.length).toBe(3);92      accordion.deleteGroups(group1);93      expect(accordion.groups.length).toBe(2);94      expect(accordion.groups[0]).toBe(group0);95      expect(accordion.groups[1]).toBe(group2);96      accordion.deleteGroups([group0, group2]);97      expect(accordion.groups.length).toBe(0);98    });99    it('triggers a property change event', () => {100      let accordion = createAccordion(3);101      let eventTriggered = false;102      accordion.on('propertyChange', event => {103        if (event.propertyName === 'groups') {104          eventTriggered = true;105        }106      });107      accordion.deleteGroups(accordion.groups[0]);108      expect(eventTriggered).toBe(true);109    });110    it('destroys the deleted groups', () => {111      let accordion = createAccordion(0);112      let group0 = createGroup({113        parent: accordion114      });115      let group1 = createGroup({116        parent: accordion117      });118      let group2 = createGroup({119        parent: accordion120      });121      accordion.render();122      accordion.insertGroups([group0, group1, group2]);123      expect(group0.destroyed).toBe(false);124      expect(group0.rendered).toBe(true);125      expect(group1.destroyed).toBe(false);126      expect(group1.rendered).toBe(true);127      expect(group2.destroyed).toBe(false);128      expect(group2.rendered).toBe(true);129      accordion.deleteGroup(group1);130      expect(group1.destroyed).toBe(true);131      expect(group1.rendered).toBe(false);132      accordion.deleteGroups([group0, group2]);133      expect(group0.destroyed).toBe(true);134      expect(group0.rendered).toBe(false);135      expect(group2.destroyed).toBe(true);136      expect(group2.rendered).toBe(false);137    });138    /**139     * This spec is important if a group should be moved from one groups container to another.140     */141    it('does not destroy the deleted groups if the groups container is not the owner', () => {142      let accordion = createAccordion(0);143      let group0 = createGroup({144        owner: session.desktop145      });146      let group1 = createGroup({147        owner: session.desktop148      });149      let group2 = createGroup({150        owner: session.desktop151      });152      accordion.render();153      accordion.insertGroups([group0, group1, group2]);154      expect(group0.destroyed).toBe(false);155      expect(group0.rendered).toBe(true);156      expect(group1.destroyed).toBe(false);157      expect(group1.rendered).toBe(true);158      expect(group2.destroyed).toBe(false);159      expect(group2.rendered).toBe(true);160      accordion.deleteGroup(group1);161      expect(group1.destroyed).toBe(false);162      expect(group1.rendered).toBe(false);163      accordion.deleteGroups([group0, group2]);164      expect(group0.destroyed).toBe(false);165      expect(group0.rendered).toBe(false);166      expect(group2.destroyed).toBe(false);167      expect(group2.rendered).toBe(false);168    });169  });170  describe('deleteAllGroups', () => {171    it('deletes all groups', () => {172      let accordion = createAccordion(0);173      let group0 = createGroup();174      let group1 = createGroup();175      let group2 = createGroup();176      accordion.insertGroups([group0, group1, group2]);177      expect(accordion.groups.length).toBe(3);178      accordion.deleteAllGroups();179      expect(accordion.groups.length).toBe(0);180    });181  });182  describe('setGroups', () => {183    it('applies the order of the new groups to groups and filteredGroups', () => {184      let accordion = createAccordion(0);185      let group0 = createGroup();186      let group1 = createGroup();187      let group2 = createGroup();188      accordion.insertGroups([group0, group1, group2]);189      accordion.setGroups([group2, group1, group0]);190      expect(accordion.groups[0]).toBe(group2);191      expect(accordion.groups[1]).toBe(group1);192      expect(accordion.groups[2]).toBe(group0);193    });194    it('applies the order of the new groups to the rendered elements', () => {195      let accordion = createAccordion(0);196      let group0 = createGroup();197      let group1 = createGroup();198      let group2 = createGroup();199      accordion.insertGroups([group0, group1, group2]);200      accordion.render();201      let $groups = accordion.$container.children('.group');202      expect($groups.eq(0).data('widget')).toBe(group0);203      expect($groups.eq(1).data('widget')).toBe(group1);204      expect($groups.eq(2).data('widget')).toBe(group2);205      accordion.setGroups([group2, group1, group0]);206      $groups = accordion.$container.children('.group');207      expect($groups.eq(0).data('widget')).toBe(group2);208      expect($groups.eq(1).data('widget')).toBe(group1);209      expect($groups.eq(2).data('widget')).toBe(group0);210    });211  });212  describe('sort', () => {213    it('uses the comparator to sort the groups', () => {214      let accordion = createAccordion(0);215      let group0 = createGroup({label: 'a'});216      let group1 = createGroup({label: 'b'});217      let group2 = createGroup({label: 'c'});218      accordion.insertGroups([group0, group1, group2]);219      accordion.setComparator((g0, g1) => {220        // desc221        return (g0.label < g1.label ? 1 : ((g0.label > g1.label) ? -1 : 0));222      });223      accordion.sort();224      expect(accordion.groups[0]).toBe(group2);225      expect(accordion.groups[1]).toBe(group1);226      expect(accordion.groups[2]).toBe(group0);227      accordion.setComparator((g0, g1) => {228        // asc229        return (g0.label < g1.label ? -1 : ((g0.label > g1.label) ? 1 : 0));230      });231      accordion.sort();232      expect(accordion.groups[0]).toBe(group0);233      expect(accordion.groups[1]).toBe(group1);234      expect(accordion.groups[2]).toBe(group2);235    });236    it('is executed when new groups are added', () => {237      let accordion = createAccordion(0);238      let group0 = createGroup({label: 'a'});239      let group1 = createGroup({label: 'b'});240      let group2 = createGroup({label: 'c'});241      accordion.setComparator((g0, g1) => {242        // desc243        return (g0.label < g1.label ? 1 : ((g0.label > g1.label) ? -1 : 0));244      });245      accordion.insertGroups([group0, group1]);246      expect(accordion.groups[0]).toBe(group1);247      expect(accordion.groups[1]).toBe(group0);248      accordion.insertGroups([group2]);249      expect(accordion.groups[0]).toBe(group2);250      expect(accordion.groups[1]).toBe(group1);251      expect(accordion.groups[2]).toBe(group0);252    });253    it('reorders the DOM elements accordingly', () => {254      let accordion = createAccordion(0);255      let group0 = createGroup({label: 'a'});256      let group1 = createGroup({label: 'b'});257      let group2 = createGroup({label: 'c'});258      accordion.insertGroups([group0, group1, group2]);259      accordion.render();260      accordion.setComparator((g0, g1) => {261        // desc262        return (g0.label < g1.label ? 1 : ((g0.label > g1.label) ? -1 : 0));263      });264      accordion.sort();265      expect(accordion.groups[0]).toBe(group2);266      expect(accordion.groups[1]).toBe(group1);267      expect(accordion.groups[2]).toBe(group0);268      let $groups = accordion.$container.children('.group');269      expect($groups.eq(0).data('widget')).toBe(group2);270      expect($groups.eq(1).data('widget')).toBe(group1);271      expect($groups.eq(2).data('widget')).toBe(group0);...groups.app-test.js
Source:groups.app-test.js  
...67  });68  it("should check admin access before creating a group", function () {69    sandbox.stub(Reaction, "hasPermission", () => false);70    spyOnMethod("createGroup", shop._id);71    function createGroup() {72      return Meteor.call("group/createGroup", sampleGroup, shop._id);73    }74    expect(createGroup).to.throw(Meteor.Error, /Access Denied/);75  });76  it("should add a user to a group successfully and reference the id on the user account", function () {77    sandbox.stub(Reaction, "hasPermission", () => true);78    sandbox.stub(Reaction, "canInviteToGroup", () => true);79    spyOnMethod("createGroup", shop._id);80    spyOnMethod("addUser", shop._id);81    Meteor.call("group/createGroup", sampleGroup, shop._id);82    const group = Groups.findOne({ shopId: shop._id });83    Meteor.call("group/addUser", user._id, group._id);84    const updatedUser = Accounts.findOne({ _id: user._id });85    expect(updatedUser.groups).to.include.members([group._id]);...CreateGroupScreen.js
Source:CreateGroupScreen.js  
...21    const { userId, createGroup } = this.props22    const { groupName: name, authUsers } = this.state23    const groupUsers = [ userId, ...authUsers ]24    const input = { id: uuid(), name, owner: userId, authUsers: groupUsers }25    createGroup({ input })26  }27  render () {28    const { groupName, authUsers } = this.state29    return (30      <ScreenBase avoidKeyboard contentContainer>31        <Text h5 style={{ width: '100%', marginBottom: layout.s2 }}>Name your group</Text>32        <TextInput33          placeholder='Group Name'34          value={groupName}35          returnKeyType='go'36          autoCorrect={false}37          onChangeText={value => this.onChangeText('groupName', value)}38        />39        <Text h5 style={{ width: '100%', marginVertical: layout.s2 }}>Add members</Text>...CreateGroup.test.js
Source:CreateGroup.test.js  
...12const fakeId = 'FAKEID';13describe('CreateGroup', () => {14  it("should pass through the data to the gateway", async () => {15    dbGateway.createGroup.mockReturnValueOnce({id: fakeId})16    await createGroup(mockCreateRequest);17    expect(dbGateway.createGroup).toHaveBeenCalledWith(mockCreateRequest);18  });19  it("should return the created group", async () => {20    dbGateway.createGroup.mockReturnValueOnce({id: fakeId});21    const group = await createGroup(mockCreateRequest);22    expect(group.id).toEqual(fakeId);23  });24  it("should create a default key for the group", async () => {25    dbGateway.createGroup.mockReturnValueOnce({id: fakeId});26    const group = await createGroup(mockCreateRequest);27    expect(createGroupKey).toHaveBeenCalledWith(group.id, "Default Key", ['*'])28  });29  it("should add timestamps if none are present", async () => {30    dbGateway.createGroup.mockReturnValueOnce({id: fakeId});31    const mockDate = new Date();32    jest.spyOn(global, 'Date').mockImplementation(() => mockDate);33    await createGroup(mockCreateRequestNoTime);34    expect(dbGateway.createGroup).toHaveBeenCalledWith({35      name: mockCreateRequestNoUnits.name,36      metrics: {37        "ac-current": {"time": mockDate.toISOString(), "value": 6.2}, 38        "ac-power": {"time": mockDate.toISOString(), "value": 83}39      }40    });41  });42  it("should not add timestamps if value is not present", async () => {43    dbGateway.createGroup.mockReturnValueOnce({id: fakeId});44    await createGroup(mockCreateRequestOnlyUnits);45    expect(dbGateway.createGroup).toHaveBeenCalledWith(mockCreateRequestOnlyUnits);46  });47  it("should still work with no metrics", async () => {48    dbGateway.createGroup.mockReturnValueOnce({id: fakeId});49    await createGroup(mockCreateRequestOnlyName);50    expect(dbGateway.createGroup).toHaveBeenCalledWith({51      name: mockCreateRequestOnlyName.name,52      metrics: {}53    });54  });55  it("should also store the metric values in the history", async () => {56    dbGateway.createGroup.mockReturnValueOnce({id: fakeId});57    await createGroup(mockCreateRequest);58    expect(dbGateway.createValues).toHaveBeenCalledWith(fakeId, mockHistory);59  })60  it("should also store the metric values without timestamp in the history", async () => {61    dbGateway.createGroup.mockReturnValueOnce({id: fakeId});62    const mockDate = new Date();63    jest.spyOn(global, 'Date').mockImplementation(() => mockDate);64    await createGroup(mockCreateRequestNoTime)65    expect(dbGateway.createValues).toHaveBeenCalledWith(fakeId, [66      {"time": mockDate.toISOString(), "value": 83},67      {"time": mockDate.toISOString(), "value": 6.2}68    ])69  })...creategroup.component.js
Source:creategroup.component.js  
1"use strict";2var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {3    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;4    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);5    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;6    return c > 3 && r && Object.defineProperty(target, key, r), r;7};8exports.__esModule = true;9exports.CreategroupComponent = void 0;10var core_1 = require("@angular/core");11var table_1 = require("@angular/material/table");12var group_1 = require("src/app/models/group");13var CreategroupComponent = /** @class */ (function () {14    function CreategroupComponent(groupService, route, router) {15        this.groupService = groupService;16        this.route = route;17        this.router = router;18        this.displayedColumns = ['GRPID', 'VerNum', 'TransactionType', 'AgentID', 'initBtn'];19        this.dataSource = new Array();20        this.createNewGroup();21    }22    CreategroupComponent.prototype.createNewGroup = function () {23        this.errorMessage = "";24        var group = new group_1.Group("NEWGRP", "", "", "");25        this.groupService.sendPostRequest(group, this.callBackGroup.bind(this));26    };27    CreategroupComponent.prototype.dispGroup = function (row) {28        this.errorMessage = "";29        this.router.navigate(["/scmlanding/dispgrp", { "GRPID": row.GRPID, "VerNum": row.VerNum }]);30    };31    CreategroupComponent.prototype.initGroup = function (row) {32        var group1 = new group_1.Group("INITGRP", row.VerNum, row.GRPID, "Y");33        this.groupService.sendPostRequest(group1, this.callBackGroup.bind(this));34    };35    CreategroupComponent.prototype.importGroup = function () {36        this.errorMessage = "";37        var group1 = new group_1.Group("INITGRP", "V0001", "20210201GRP000005", "Y");38        this.groupService.sendPostRequest(group1, this.callBackGroup.bind(this));39    };40    CreategroupComponent.prototype.callBackGroup = function (group) {41        this.errorMessage = "";42        if (group.HDRResponseCode != "000") {43            this.errorMessage = group.ResponseText;44        }45        this.dataSource.push(group);46        this.table.renderRows();47    };48    CreategroupComponent.prototype.selectGroup = function (row) {49        this.errorMessage = "";50        this.selectedGroup = row;51    };52    __decorate([53        core_1.ViewChild(table_1.MatTable)54    ], CreategroupComponent.prototype, "table");55    CreategroupComponent = __decorate([56        core_1.Component({57            selector: 'app-creategroup',58            templateUrl: './creategroup.component.html',59            styleUrls: ['./creategroup.component.scss']60        })61    ], CreategroupComponent);62    return CreategroupComponent;63}());...createGroup.js
Source:createGroup.js  
...21  changeZoom: (valueZoom) => {22    dispatch(changeZoom(valueZoom))23  },24  createGroup: () => {25    dispatch(createGroup())26  },27  clearField: (value, name) => {28    dispatch(clearField(value, name));29  }30});31// Container32const CreateGroupContainer = connect(33  mapStateToProps,34  mapDispatchToProps,35)(CreateGroup);36// == Export...create_group.js
Source:create_group.js  
1/*****************************************************************************/2/* CreateGroup: Event Handlers */3/*****************************************************************************/4Template.CreateGroup.events({5});6/*****************************************************************************/7/* CreateGroup: Helpers */8/*****************************************************************************/9Template.CreateGroup.helpers({10});11/*****************************************************************************/12/* CreateGroup: Lifecycle Hooks */13/*****************************************************************************/14Template.CreateGroup.created = function () {15};16Template.CreateGroup.rendered = function () {17};18Template.CreateGroup.destroyed = function () {...Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3        .typeText('#developer-name', 'John Smith')4        .click('#submit-button')5        .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');6});Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3    const developerName = Selector('#developer-name');4    const osOption = Selector('label').withText('Windows');5    const submitButton = Selector('#submit-button');6        .typeText(developerName, 'John Smith')7        .click(osOption)8        .click(submitButton)9        .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');10});11import { Selector } from 'testcafe';12test('My first test', async t => {13});Using AI Code Generation
1import { ClientFunction } from 'testcafe';2test('My first test', async t => {3        .typeText('#developer-name', 'John Smith')4        .click('#submit-button');5});6const createGroup = ClientFunction((name, description) => {7    return window.createGroup(name, description);8});9test('Create group', async t => {10    await createGroup('TestCafe', 'TestCafe is a Node.js tool to automate end-to-end web testing.');11});12const express = require('express');13const app = express();14const port = 3000;15const bodyParser = require('body-parser');16const cors = require('cors');17app.use(bodyParser.json());18app.use(cors());19app.post('/api/createGroup', (req, res) => {20    console.log('Group created');21    console.log(req.body.name);22    console.log(req.body.description);23    res.send();24});25app.listen(port, () => {26});27const createGroup = ClientFunction((name, description) => {28    return window.createGroup(name, description);29});30test('Create group', async t => {31    await createGroup('TestCafe', 'TestCafe is a Node.js tool to automate end-to-end web testing.');32});Using AI Code Generation
1import { Selector } from 'testcafe';2import { createGroup } from 'testcafe-reporter-html';3    .before(async () => {4        await createGroup('My group');5    })6    ('My test', async t => {7            .typeText('#developer-name', 'John Smith')8            .click('#submit-button');9    });Using AI Code Generation
1import { Selector, t } from 'testcafe';2import { createGroup } from 'testcafe-browser-provider-electron';3    .beforeEach(async t => {4        await createGroup('electron-app', 'electron');5    });6test('My test', async t => {7        .typeText('#developer-name', 'Peter Parker')8        .click('#macos')9        .click('#submit-button');10});11createGroup(name, providerName, providerPath)12import { createGroup } from 'testcafe-browser-provider-electron';13    .beforeEach(async t => {14        await createGroup('electron-app', 'electron', '/path/to/provider');15    });16removeGroup(name)17import { removeGroup } from 'testcafe-browser-provider-electron';18    .afterEach(async t => {19        await removeGroup('electron-app');20    });21getInstallations()22import { getInstallations } from 'testcafe-browser-provider-electron';23    .before(async t => {24        const installations = await getInstallations();25        console.log(installations);26    });27open(browserId, pageUrl, browserName)Using AI Code Generation
1const createGroup = require('testcafe').createGroup;2createGroup('My Group', () => {3});4const createFixture = require('testcafe').createFixture;5createFixture('My Fixture', () => {6});7const createTest = require('testcafe').createTest;8createTest('My Test', () => {9});10const createRole = require('testcafe').createRole;11});12const ClientFunction = require('testcafe').ClientFunction;13const getWindowLocation = ClientFunction(() => window.location);14const Selector = require('testcafe').Selector;15const element = Selector('#elementID');16const RequestLogger = require('testcafe').RequestLogger;17const RequestMock = require('testcafe').RequestMock;18const mock = RequestMock()19    .respond('Hello world!', 200, {20    });21const RequestHook = require('testcafe').RequestHook;22class MyHook extends RequestHook {23    constructor (requestFilterRules,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!!
