Best JavaScript code snippet using tracetest
PageHome.js
Source:PageHome.js
1import React, { Component } from 'react';2import PageConfig from 'publish/PageConfig';3import _ from 'lodash';4import ReactHelper from 'util/ReactHelper';5class PageHome extends Component {6 constructor(props) {7 super(props);8 this.state = { listType: '', useIcon: false };9 this.changeList = this.changeList.bind(this);10 this.changeUseIcon = this.changeUseIcon.bind(this);11 }12 changeList(listType) {13 this.setState({ listType: listType });14 }15 changeUseIcon(event) {16 let checked = event.target.checked;17 this.setState({ useIcon: checked });18 }19 render() {20 /*21s22 ì´ë¦, 리ì¡í¸ íì¼ëª
, route url, 기íì íì´ì§23 */24 let list = PageConfig.list;25 let listType = this.state.listType;26 let useIcon = this.state.useIcon;27 let filetedList = _.filter(list, (info) => {28 if (listType === 'ing') {29 return !info.success;30 } else if (listType === 'complete') {31 return info.success;32 }33 return true;34 });35 if (useIcon) {36 filetedList = _.filter(list, (info) => {37 return info.useIcon;38 });39 }40 return (41 <div style={{ overflowX: 'auto' }}>42 <h6>43 <a href={'#/modal'} style={{ color: 'blue' }}>44 ëª¨ë¬ í¼ë¸ë¦¬ì±ì¼ë¡ ì´ë45 </a>46 </h6>47 <div>48 <button49 onClick={() => this.changeList('ing')}50 style={{ background: 'yellow' }}51 >52 ìì
ì¤53 </button>{' '}54 <button55 onClick={() => this.changeList('complete')}56 style={{ background: '#8897ff' }}57 >58 ìë£59 </button>{' '}60 <button onClick={() => this.changeList('')}>ì ì²´</button>61 {/* ìì´ì½ ì¡´ì¬ ì¬ë¶{' '}62 <input63 type="checkbox"64 id="useIcon"65 name="useIcon"66 checked={useIcon}67 onChange={this.changeUseIcon}68 /> */}69 </div>70 <table className="publish_tb">71 <tr>72 <th73 style={{74 border: '1px solid black',75 borderCollapse: 'collapse',76 padding: 577 }}78 >79 index80 </th>81 <th82 style={{83 border: '1px solid black',84 borderCollapse: 'collapse',85 padding: 586 }}87 >88 ì´ë¦89 </th>90 <th91 style={{92 border: '1px solid black',93 borderCollapse: 'collapse',94 padding: 595 }}96 >97 íì¼ëª
(src/publish/page)98 </th>99 <th100 style={{101 border: '1px solid black',102 borderCollapse: 'collapse',103 padding: 5104 }}105 >106 url107 </th>108 <th109 style={{110 border: '1px solid black',111 borderCollapse: 'collapse',112 padding: 5113 }}114 >115 기íì íì´ì§116 </th>117 <th118 style={{119 border: '1px solid black',120 borderCollapse: 'collapse',121 padding: 5122 }}123 >124 ìë£ì¬ë¶125 </th>126 <th127 style={{128 border: '1px solid black',129 borderCollapse: 'collapse',130 padding: 5131 }}132 >133 ìì´ì½ì¬ë¶134 </th>135 {/* <th136 style={{137 border: '1px solid black',138 borderCollapse: 'collapse',139 padding: 5,140 width: '40%'141 }}142 >143 ì¤ëª
144 </th> */}145 </tr>146 {filetedList.map((info, index) => {147 let backgroundColor = '';148 if (info.success) {149 backgroundColor = '#8897ff';150 } else {151 backgroundColor = 'yellow';152 }153 return (154 <tr style={{ backgroundColor: backgroundColor }}>155 <td156 style={{157 border: '1px solid black',158 borderCollapse: 'collapse',159 padding: 5160 }}161 >162 <a style={{ color: '#000' }} href={'#' + info.url}>163 {index + 1}164 </a>165 </td>166 <td167 style={{168 border: '1px solid black',169 borderCollapse: 'collapse',170 padding: 5171 }}172 >173 <a174 style={{ color: '#000' }}175 href={'#' + info.url}176 rel="noopener noreferrer"177 target="_blank"178 >179 {info.title}180 </a>181 </td>182 <td183 style={{184 border: '1px solid black',185 borderCollapse: 'collapse',186 padding: 5187 }}188 >189 <a190 style={{ color: '#000' }}191 href={192 'vscode://file/' +193 process.env.PROJECT_FOLDER_PATH +194 '/src/publish/page/' +195 info.fileName196 }197 >198 {info.fileName}199 </a>200 </td>201 <td202 style={{203 border: '1px solid black',204 borderCollapse: 'collapse',205 padding: 5206 }}207 >208 {info.url}209 </td>210 <td211 style={{212 border: '1px solid black',213 borderCollapse: 'collapse',214 padding: 5215 }}216 >217 {info.pageCount}218 </td>219 <td220 style={{221 border: '1px solid black',222 borderCollapse: 'collapse',223 padding: 5224 }}225 >226 {info.success ? 'ìë£' : 'ìì
ì¤'}227 </td>228 <td229 style={{230 border: '1px solid black',231 borderCollapse: 'collapse',232 padding: 5233 }}234 >235 {info.useIcon ? 'ì¬ì©' : '미ì¬ì©'}236 </td>237 {/* <td238 style={{239 backgroundColor: '#2196f3',240 border: '1px solid black',241 borderCollapse: 'collapse',242 padding: 5,243 width: '40%'244 }}245 dangerouslySetInnerHTML={{246 __html: ReactHelper.convertEnterStringToBrTag(247 info.description248 )249 }}250 ></td> */}251 </tr>252 );253 })}254 </table>255 </div>256 );257 }258}...
SpanAttribute.service.ts
Source:SpanAttribute.service.ts
1import {2 OtelReference,3 OtelReferenceModel,4} from 'components/TestSpecForm/hooks/useGetOTELSemanticConventionAttributesInfo';5import AttributesTags from 'constants/AttributesTags.json';6import {SemanticGroupNames} from 'constants/SemanticGroupNames.constants';7import {8 SectionNames,9 SelectorAttributesBlackList,10 SelectorAttributesWhiteList,11 SpanAttributeSections,12} from 'constants/Span.constants';13import {Attributes, TraceTestAttributes} from 'constants/SpanAttribute.constants';14import {isEmpty, remove} from 'lodash';15import {TSpanFlatAttribute} from 'types/Span.types';16import {isJson} from 'utils/Common';17const attributesTags: Record<string, OtelReferenceModel> = AttributesTags;18const flatAttributes = Object.values(Attributes);19const flatTraceTestAttributes = Object.values(TraceTestAttributes);20const filterAttributeList = (attributeList: TSpanFlatAttribute[], attrKeyList: string[]): TSpanFlatAttribute[] => {21 return attrKeyList.reduce<TSpanFlatAttribute[]>((list, key) => {22 const foundAttrList = attributeList.filter(attr => attr.key.indexOf(key) === 0);23 return foundAttrList.length ? list.concat(foundAttrList) : list;24 }, []);25};26const removeFromAttributeList = (attributeList: TSpanFlatAttribute[], attrKeyList: string[]): TSpanFlatAttribute[] =>27 remove(attributeList, attr => !attrKeyList.includes(attr.key));28const getCustomAttributeList = (attributeList: TSpanFlatAttribute[]) => {29 const traceTestList = filterAttributeList(attributeList, flatTraceTestAttributes);30 const filetedList = attributeList.filter(attr => {31 const foundAttr = flatAttributes.find(key => attr.key.indexOf(key) === 0);32 return !foundAttr;33 });34 return traceTestList.concat(filetedList);35};36const SpanAttributeService = () => ({37 getPseudoAttributeList: (count: number): TSpanFlatAttribute[] => [38 {key: TraceTestAttributes.TRACETEST_SELECTED_SPANS_COUNT, value: count.toString()},39 ],40 getSpanAttributeSectionsList(41 attributeList: TSpanFlatAttribute[],42 type: SemanticGroupNames43 ): {section: string; attributeList: TSpanFlatAttribute[]}[] {44 const sections = SpanAttributeSections[type] || {};45 const defaultSectionList = [46 {47 section: SectionNames.custom,48 attributeList: getCustomAttributeList(attributeList),49 },50 {51 section: SectionNames.all,52 attributeList,53 },54 ];55 const sectionList = Object.entries(sections).reduce<{section: string; attributeList: TSpanFlatAttribute[]}[]>(56 (list, [key, attrKeyList]) =>57 list.concat([{section: key, attributeList: filterAttributeList(attributeList, attrKeyList)}]),58 []59 );60 return sectionList.concat(defaultSectionList);61 },62 getFilteredSelectorAttributeList(63 attributeList: TSpanFlatAttribute[],64 currentSelectorList: string[]65 ): TSpanFlatAttribute[] {66 const duplicatedFiltered = removeFromAttributeList(attributeList, currentSelectorList);67 const whiteListFiltered = filterAttributeList(duplicatedFiltered, SelectorAttributesWhiteList);68 const blackListFiltered = removeFromAttributeList(whiteListFiltered, SelectorAttributesBlackList);69 const customList = getCustomAttributeList(attributeList);70 return blackListFiltered.concat(customList).filter(attr => !isJson(attr.value) && !isEmpty(attr));71 },72 referencePicker(reference: OtelReference, key: string): OtelReferenceModel {73 return reference[key] || attributesTags[key] || {description: '', tags: []};74 },75});...
HotelState.ts
Source:HotelState.ts
1/*2 * @Author: holakk3 * @Date: 2021-11-18 22:30:064 * @LastEditors: holakk5 * @LastEditTime: 2021-12-17 00:02:366 * @Description: file content7 */8import { atom, selector } from "recoil";9import { IndexHotel, ShowHotel } from "@/types/Hotel";10export enum hotelSortMethodEnum {11 SmartSort,12 GoodComment,13 LowPrice,14 HighPrice,15}16const hotelSearchKey = atom({17 key: "hotelSearchKey",18 default: false,19});20const hotelIndexList = atom({21 key: "hotelIndexList",22 default: [] as IndexHotel[],23});24const hotelStoreList = atom({25 key: "hotelStoreList",26 default: [] as ShowHotel[],27});28const hotelShowList = selector({29 key: "hotelShowList",30 get: ({ get }): ShowHotel[] => {31 const filter = get(hotelFilter);32 const sorter = get(hotelSortMethod);33 const storeList = get(hotelStoreList);34 let filetedList = storeList.filter(35 (item) => item.price >= filter.price.min && item.price <= filter.price.max36 );37 filetedList.sort((a, b) => {38 switch (sorter) {39 case hotelSortMethodEnum.SmartSort:40 return b.score - a.score;41 case hotelSortMethodEnum.GoodComment:42 return b.score - a.score;43 case hotelSortMethodEnum.LowPrice:44 return a.price - b.price;45 case hotelSortMethodEnum.HighPrice:46 return b.price - a.price;47 default:48 return a.score - b.score;49 }50 });51 return filetedList;52 },53});54const hotelSortMethod = atom({55 key: "hotelSortMethod",56 default: hotelSortMethodEnum.SmartSort,57});58const hotelFilter = atom({59 key: "hotelFilter",60 default: {61 price: {62 max: 10000,63 min: 0,64 },65 tags: {66 ç»æµå: false,67 "èé/ä¸æ": false,68 "é«æ¡£/åæ": false,69 "豪å/äºæ": false,70 é»éé»é
åº: false,71 ééé»é
åº: false,72 },73 },74});75export default {76 hotelSearchKey,77 hotelIndexList,78 hotelShowList,79 hotelSortMethod,80 hotelStoreList,...
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!!