Best JavaScript code snippet using playwright-internal
LocationCard.test.js
Source:LocationCard.test.js
...3import LocationCard from './LocationCard'4it('renders LocationCard no props', () => {5 const div = document.createElement('div')6 ReactDOM.render(<LocationCard />, div)7 ReactDOM.unmountComponentAtNode(div)8})9it('renders LocationCard with location only', () => {10 const div = document.createElement('div')11 ReactDOM.render(<LocationCard location='asd' />, div)12 ReactDOM.unmountComponentAtNode(div)13})14it('renders LocationCard with title only', () => {15 const div = document.createElement('div')16 ReactDOM.render(<LocationCard title='titledd' />, div)17 ReactDOM.unmountComponentAtNode(div)18})19it('renders LocationCard with pmax only', () => {20 const div = document.createElement('div')21 ReactDOM.render(<LocationCard pmax='12' />, div)22 ReactDOM.unmountComponentAtNode(div)23})24it('renders LocationCard with battery only', () => {25 const div = document.createElement('div')26 ReactDOM.render(<LocationCard battery='-51' />, div)27 ReactDOM.unmountComponentAtNode(div)28})29it('renders LocationCard with producing only', () => {30 const div = document.createElement('div')31 ReactDOM.render(<LocationCard producing='34' />, div)32 ReactDOM.unmountComponentAtNode(div)33})34it('renders LocationCard with devicesCount - solar-panel only', () => {35 const div = document.createElement('div')36 ReactDOM.render(<LocationCard devicesCount='solar-panel' />, div)37 ReactDOM.unmountComponentAtNode(div)38})39it('renders LocationCard with devicesCount - battery only', () => {40 const div = document.createElement('div')41 ReactDOM.render(<LocationCard devicesCount='battery' />, div)42 ReactDOM.unmountComponentAtNode(div)43})44it('renders LocationCard with all props', () => {45 const div = document.createElement('div')46 ReactDOM.render(<LocationCard title='title' devicesCount='battery' />, div)47 ReactDOM.unmountComponentAtNode(div)48})49it('renders LocationCard with title and location and devicesCount battery', () => {50 const div = document.createElement('div')51 ReactDOM.render(52 <LocationCard title='title' location='ds' devicesCount='battery' />,53 div54 )55 ReactDOM.unmountComponentAtNode(div)56})57it('renders LocationCard with solar panle with title only', () => {58 const div = document.createElement('div')59 ReactDOM.render(<LocationCard title='title' devicesCount='solar-panel' />, div)60 ReactDOM.unmountComponentAtNode(div)61})62it('renders LocationCard with title location and devicesCount battery', () => {63 const div = document.createElement('div')64 ReactDOM.render(65 <LocationCard title='title' location='mod' devicesCount='battery' />,66 div67 )68 ReactDOM.unmountComponentAtNode(div)69})70it('renders LocationCard with title location and devicesCount battery and producing', () => {71 const div = document.createElement('div')72 ReactDOM.render(73 <LocationCard title='title' location='mod' devicesCount='battery' producing={45} />,74 div75 )76 ReactDOM.unmountComponentAtNode(div)77})78it('renders LocationCard with title location and devicesCount battery and battery', () => {79 const div = document.createElement('div')80 ReactDOM.render(81 <LocationCard title='title' location='mod' devicesCount='battery' battery={-5} />,82 div83 )84 ReactDOM.unmountComponentAtNode(div)85})86it('renders LocationCard with title location and devicesCount battery and battery and producing', () => {87 const div = document.createElement('div')88 ReactDOM.render(89 <LocationCard90 title='title'91 location='mod'92 devicesCount='battery'93 battery={4}94 producing={69}95 />,96 div97 )98 ReactDOM.unmountComponentAtNode(div)99})100it('renders LocationCard with title location and devicesCount solar-panel and battery and producing', () => {101 const div = document.createElement('div')102 ReactDOM.render(103 <LocationCard104 title='title'105 location='mod'106 devicesCount='solar-panel'107 battery={4}108 producing={69}109 />,110 div111 )112 ReactDOM.unmountComponentAtNode(div)113})114it('renders LocationCard with title location and battery and producing and NO devicesCount', () => {115 const div = document.createElement('div')116 ReactDOM.render(117 <LocationCard title='title' location='mod' battery={4} producing={69} />,118 div119 )120 ReactDOM.unmountComponentAtNode(div)121})122it('renders LocationCard with title location and battery and producing and NO title', () => {123 const div = document.createElement('div')124 ReactDOM.render(125 <LocationCard126 location='mod'127 devicesCount='solar-panel'128 battery={4}129 producing={69}130 />,131 div132 )133 ReactDOM.unmountComponentAtNode(div)134})135it('renders LocationCard with title location and battery and producing and NO location', () => {136 const div = document.createElement('div')137 ReactDOM.render(138 <LocationCard139 title='title'140 devicesCount='solar-panel'141 battery={4}142 producing={69}143 />,144 div145 )146 ReactDOM.unmountComponentAtNode(div)147})148it('renders LocationCard with title location and battery and producing and NO location devicesCount battery', () => {149 const div = document.createElement('div')150 ReactDOM.render(151 <LocationCard152 title='title'153 location='mod3'154 devicesCount='battery'155 battery={4}156 producing={69}157 />,158 div159 )160 ReactDOM.unmountComponentAtNode(div)161})162it('renders LocationCard no props', () => {163 const div = document.createElement('div')164 ReactDOM.render(<LocationCard />, div)165 ReactDOM.unmountComponentAtNode(div)166})167it('renders LocationCard with production location only', () => {168 const div = document.createElement('div')169 ReactDOM.render(<LocationCard production={54} location='asd' />, div)170 ReactDOM.unmountComponentAtNode(div)171})172it('renders LocationCard with production title only', () => {173 const div = document.createElement('div')174 ReactDOM.render(<LocationCard production={54} title='titledd' />, div)175 ReactDOM.unmountComponentAtNode(div)176})177it('renders LocationCard with production pmax only', () => {178 const div = document.createElement('div')179 ReactDOM.render(<LocationCard production={54} pmax='12' />, div)180 ReactDOM.unmountComponentAtNode(div)181})182it('renders LocationCard with production battery only', () => {183 const div = document.createElement('div')184 ReactDOM.render(<LocationCard production={54} battery='-51' />, div)185 ReactDOM.unmountComponentAtNode(div)186})187it('renders LocationCard with production producing only', () => {188 const div = document.createElement('div')189 ReactDOM.render(<LocationCard production={54} producing='34' />, div)190 ReactDOM.unmountComponentAtNode(div)191})192it('renders LocationCard with production devicesCount - solar-panel only', () => {193 const div = document.createElement('div')194 ReactDOM.render(<LocationCard production={54} devicesCount='solar-panel' />, div)195 ReactDOM.unmountComponentAtNode(div)196})197it('renders LocationCard with production devicesCount - battery only', () => {198 const div = document.createElement('div')199 ReactDOM.render(<LocationCard production={54} devicesCount='battery' />, div)200 ReactDOM.unmountComponentAtNode(div)201})202it('renders LocationCard with production all props', () => {203 const div = document.createElement('div')204 ReactDOM.render(205 <LocationCard production={54} title='title' devicesCount='battery' />,206 div207 )208 ReactDOM.unmountComponentAtNode(div)209})210it('renders LocationCard with production title and location and devicesCount battery', () => {211 const div = document.createElement('div')212 ReactDOM.render(213 <LocationCard production={54} title='title' location='ds' devicesCount='battery' />,214 div215 )216 ReactDOM.unmountComponentAtNode(div)217})218it('renders LocationCard with production solar panle with title only', () => {219 const div = document.createElement('div')220 ReactDOM.render(221 <LocationCard production={54} title='title' devicesCount='solar-panel' />,222 div223 )224 ReactDOM.unmountComponentAtNode(div)225})226it('renders LocationCard with production title location and devicesCount battery', () => {227 const div = document.createElement('div')228 ReactDOM.render(229 <LocationCard production={54} title='title' location='mod' devicesCount='battery' />,230 div231 )232 ReactDOM.unmountComponentAtNode(div)233})234it('renders LocationCard with production title location and devicesCount battery and producing', () => {235 const div = document.createElement('div')236 ReactDOM.render(237 <LocationCard238 production={54}239 title='title'240 location='mod'241 devicesCount='battery'242 producing={45}243 />,244 div245 )246 ReactDOM.unmountComponentAtNode(div)247})248it('renders LocationCard with production title location and devicesCount battery and battery', () => {249 const div = document.createElement('div')250 ReactDOM.render(251 <LocationCard252 production={54}253 title='title'254 location='mod'255 devicesCount='battery'256 battery={-5}257 />,258 div259 )260 ReactDOM.unmountComponentAtNode(div)261})262it('renders LocationCard with production title location and devicesCount battery and battery and producing', () => {263 const div = document.createElement('div')264 ReactDOM.render(265 <LocationCard266 production={54}267 title='title'268 location='mod'269 devicesCount='battery'270 battery={4}271 producing={69}272 />,273 div274 )275 ReactDOM.unmountComponentAtNode(div)276})277it('renders LocationCard with production title location and devicesCount solar-panel and battery and producing', () => {278 const div = document.createElement('div')279 ReactDOM.render(280 <LocationCard281 production={54}282 title='title'283 location='mod'284 devicesCount='solar-panel'285 battery={4}286 producing={69}287 />,288 div289 )290 ReactDOM.unmountComponentAtNode(div)291})292it('renders LocationCard with production title location and battery and producing and NO devicesCount', () => {293 const div = document.createElement('div')294 ReactDOM.render(295 <LocationCard296 production={54}297 title='title'298 location='mod'299 battery={4}300 producing={69}301 />,302 div303 )304 ReactDOM.unmountComponentAtNode(div)305})306it('renders LocationCard with production title location and battery and producing and NO title', () => {307 const div = document.createElement('div')308 ReactDOM.render(309 <LocationCard310 production={54}311 location='mod'312 devicesCount='solar-panel'313 battery={4}314 producing={69}315 />,316 div317 )318 ReactDOM.unmountComponentAtNode(div)319})320it('renders LocationCard with production title location and battery and producing and NO location', () => {321 const div = document.createElement('div')322 ReactDOM.render(323 <LocationCard324 production={54}325 title='title'326 devicesCount='solar-panel'327 battery={4}328 producing={69}329 />,330 div331 )332 ReactDOM.unmountComponentAtNode(div)333})334it('renders LocationCard with production title location and battery and producing and NO location devicesCount battery', () => {335 const div = document.createElement('div')336 ReactDOM.render(337 <LocationCard338 production={54}339 title='title'340 location='mod3'341 devicesCount='battery'342 battery={4}343 producing={69}344 />,345 div346 )347 ReactDOM.unmountComponentAtNode(div)348})349it('renders LocationCard with consumption location only', () => {350 const div = document.createElement('div')351 ReactDOM.render(<LocationCard consumption={54} location='asd' />, div)352 ReactDOM.unmountComponentAtNode(div)353})354it('renders LocationCard with consumption title only', () => {355 const div = document.createElement('div')356 ReactDOM.render(<LocationCard consumption={54} title='titledd' />, div)357 ReactDOM.unmountComponentAtNode(div)358})359it('renders LocationCard with consumption pmax only', () => {360 const div = document.createElement('div')361 ReactDOM.render(<LocationCard consumption={54} pmax='12' />, div)362 ReactDOM.unmountComponentAtNode(div)363})364it('renders LocationCard with consumption battery only', () => {365 const div = document.createElement('div')366 ReactDOM.render(<LocationCard consumption={54} battery='-51' />, div)367 ReactDOM.unmountComponentAtNode(div)368})369it('renders LocationCard with consumption producing only', () => {370 const div = document.createElement('div')371 ReactDOM.render(<LocationCard consumption={54} producing='34' />, div)372 ReactDOM.unmountComponentAtNode(div)373})374it('renders LocationCard with consumption devicesCount - solar-panel only', () => {375 const div = document.createElement('div')376 ReactDOM.render(<LocationCard consumption={54} devicesCount='solar-panel' />, div)377 ReactDOM.unmountComponentAtNode(div)378})379it('renders LocationCard with consumption devicesCount - battery only', () => {380 const div = document.createElement('div')381 ReactDOM.render(<LocationCard consumption={54} devicesCount='battery' />, div)382 ReactDOM.unmountComponentAtNode(div)383})384it('renders LocationCard with consumption all props', () => {385 const div = document.createElement('div')386 ReactDOM.render(387 <LocationCard consumption={54} title='title' devicesCount='battery' />,388 div389 )390 ReactDOM.unmountComponentAtNode(div)391})392it('renders LocationCard with consumption title and location and devicesCount battery', () => {393 const div = document.createElement('div')394 ReactDOM.render(395 <LocationCard consumption={54} title='title' location='ds' devicesCount='battery' />,396 div397 )398 ReactDOM.unmountComponentAtNode(div)399})400it('renders LocationCard with consumption solar panle with title only', () => {401 const div = document.createElement('div')402 ReactDOM.render(403 <LocationCard consumption={54} title='title' devicesCount='solar-panel' />,404 div405 )406 ReactDOM.unmountComponentAtNode(div)407})408it('renders LocationCard with consumption title location and devicesCount battery', () => {409 const div = document.createElement('div')410 ReactDOM.render(411 <LocationCard412 consumption={54}413 title='title'414 location='mod'415 devicesCount='battery'416 />,417 div418 )419 ReactDOM.unmountComponentAtNode(div)420})421it('renders LocationCard with consumption title location and devicesCount battery and producing', () => {422 const div = document.createElement('div')423 ReactDOM.render(424 <LocationCard425 consumption={54}426 title='title'427 location='mod'428 devicesCount='battery'429 producing={45}430 />,431 div432 )433 ReactDOM.unmountComponentAtNode(div)434})435it('renders LocationCard with consumption title location and devicesCount battery and battery', () => {436 const div = document.createElement('div')437 ReactDOM.render(438 <LocationCard439 consumption={54}440 title='title'441 location='mod'442 devicesCount='battery'443 battery={-5}444 />,445 div446 )447 ReactDOM.unmountComponentAtNode(div)448})449it('renders LocationCard with consumption title location and devicesCount battery and battery and producing', () => {450 const div = document.createElement('div')451 ReactDOM.render(452 <LocationCard453 consumption={54}454 title='title'455 location='mod'456 devicesCount='battery'457 battery={4}458 producing={69}459 />,460 div461 )462 ReactDOM.unmountComponentAtNode(div)463})464it('renders LocationCard with consumption title location and devicesCount solar-panel and battery and producing', () => {465 const div = document.createElement('div')466 ReactDOM.render(467 <LocationCard468 consumption={54}469 title='title'470 location='mod'471 devicesCount='solar-panel'472 battery={4}473 producing={69}474 />,475 div476 )477 ReactDOM.unmountComponentAtNode(div)478})479it('renders LocationCard with consumption title location and battery and producing and NO devicesCount', () => {480 const div = document.createElement('div')481 ReactDOM.render(482 <LocationCard483 consumption={54}484 title='title'485 location='mod'486 battery={4}487 producing={69}488 />,489 div490 )491 ReactDOM.unmountComponentAtNode(div)492})493it('renders LocationCard with consumption title location and battery and producing and NO title', () => {494 const div = document.createElement('div')495 ReactDOM.render(496 <LocationCard497 consumption={54}498 location='mod'499 devicesCount='solar-panel'500 battery={4}501 producing={69}502 />,503 div504 )505 ReactDOM.unmountComponentAtNode(div)506})507it('renders LocationCard with consumption title location and battery and producing and NO location', () => {508 const div = document.createElement('div')509 ReactDOM.render(510 <LocationCard511 consumption={54}512 title='title'513 devicesCount='solar-panel'514 battery={4}515 producing={69}516 />,517 div518 )519 ReactDOM.unmountComponentAtNode(div)520})521it('renders LocationCard with consumption title location and battery and producing and NO location devicesCount battery', () => {522 const div = document.createElement('div')523 ReactDOM.render(524 <LocationCard525 consumption={54}526 title='title'527 location='mod3'528 devicesCount='battery'529 battery={4}530 producing={69}531 />,532 div533 )534 ReactDOM.unmountComponentAtNode(div)535})536it('renders LocationCard with consumption and production location only', () => {537 const div = document.createElement('div')538 ReactDOM.render(539 <LocationCard consumption={54} production={687} location='asd' />,540 div541 )542 ReactDOM.unmountComponentAtNode(div)543})544it('renders LocationCard with consumption and production title only', () => {545 const div = document.createElement('div')546 ReactDOM.render(547 <LocationCard consumption={54} production={687} title='titledd' />,548 div549 )550 ReactDOM.unmountComponentAtNode(div)551})552it('renders LocationCard with consumption and production pmax only', () => {553 const div = document.createElement('div')554 ReactDOM.render(555 <LocationCard consumption={54} production={687} pmax='12' />,556 div557 )558 ReactDOM.unmountComponentAtNode(div)559})560it('renders LocationCard with consumption and production battery only', () => {561 const div = document.createElement('div')562 ReactDOM.render(563 <LocationCard consumption={54} production={687} battery='-51' />,564 div565 )566 ReactDOM.unmountComponentAtNode(div)567})568it('renders LocationCard with consumption and production producing only', () => {569 const div = document.createElement('div')570 ReactDOM.render(571 <LocationCard consumption={54} production={687} producing='34' />,572 div573 )574 ReactDOM.unmountComponentAtNode(div)575})576it('renders LocationCard with consumption and production devicesCount - solar-panel only', () => {577 const div = document.createElement('div')578 ReactDOM.render(579 <LocationCard consumption={54} production={687} devicesCount='solar-panel' />,580 div581 )582 ReactDOM.unmountComponentAtNode(div)583})584it('renders LocationCard with consumption and production devicesCount - battery only', () => {585 const div = document.createElement('div')586 ReactDOM.render(587 <LocationCard consumption={54} production={687} devicesCount='battery' />,588 div589 )590 ReactDOM.unmountComponentAtNode(div)591})592it('renders LocationCard with consumption and production all props', () => {593 const div = document.createElement('div')594 ReactDOM.render(595 <LocationCard596 consumption={54}597 production={687}598 title='title'599 devicesCount='battery'600 />,601 div602 )603 ReactDOM.unmountComponentAtNode(div)604})605it('renders LocationCard with consumption and production title and location and devicesCount battery', () => {606 const div = document.createElement('div')607 ReactDOM.render(608 <LocationCard609 consumption={54}610 production={687}611 title='title'612 location='ds'613 devicesCount='battery'614 />,615 div616 )617 ReactDOM.unmountComponentAtNode(div)618})619it('renders LocationCard with consumption and production solar panle with title only', () => {620 const div = document.createElement('div')621 ReactDOM.render(622 <LocationCard623 consumption={54}624 production={687}625 title='title'626 devicesCount='solar-panel'627 />,628 div629 )630 ReactDOM.unmountComponentAtNode(div)631})632it('renders LocationCard with consumption and production title location and devicesCount battery', () => {633 const div = document.createElement('div')634 ReactDOM.render(635 <LocationCard636 consumption={54}637 production={687}638 title='title'639 location='mod'640 devicesCount='battery'641 />,642 div643 )644 ReactDOM.unmountComponentAtNode(div)645})646it('renders LocationCard with consumption and production title location and devicesCount battery and producing', () => {647 const div = document.createElement('div')648 ReactDOM.render(649 <LocationCard650 consumption={54}651 production={687}652 title='title'653 location='mod'654 devicesCount='battery'655 producing={45}656 />,657 div658 )659 ReactDOM.unmountComponentAtNode(div)660})661it('renders LocationCard with consumption and production title location and devicesCount battery and battery', () => {662 const div = document.createElement('div')663 ReactDOM.render(664 <LocationCard665 consumption={54}666 production={687}667 title='title'668 location='mod'669 devicesCount='battery'670 battery={-5}671 />,672 div673 )674 ReactDOM.unmountComponentAtNode(div)675})676it('renders LocationCard with consumption and production title location and devicesCount battery and battery and producing', () => {677 const div = document.createElement('div')678 ReactDOM.render(679 <LocationCard680 consumption={54}681 production={687}682 title='title'683 location='mod'684 devicesCount='battery'685 battery={4}686 producing={69}687 />,688 div689 )690 ReactDOM.unmountComponentAtNode(div)691})692it('renders LocationCard with consumption and production title location and devicesCount solar-panel and battery and producing', () => {693 const div = document.createElement('div')694 ReactDOM.render(695 <LocationCard696 consumption={54}697 production={687}698 title='title'699 location='mod'700 devicesCount='solar-panel'701 battery={4}702 producing={69}703 />,704 div705 )706 ReactDOM.unmountComponentAtNode(div)707})708it('renders LocationCard with consumption and production title location and battery and producing and NO devicesCount', () => {709 const div = document.createElement('div')710 ReactDOM.render(711 <LocationCard712 consumption={54}713 production={687}714 title='title'715 location='mod'716 battery={4}717 producing={69}718 />,719 div720 )721 ReactDOM.unmountComponentAtNode(div)722})723it('renders LocationCard with consumption and production title location and battery and producing and NO title', () => {724 const div = document.createElement('div')725 ReactDOM.render(726 <LocationCard727 consumption={54}728 production={687}729 location='mod'730 devicesCount='solar-panel'731 battery={4}732 producing={69}733 />,734 div735 )736 ReactDOM.unmountComponentAtNode(div)737})738it('renders LocationCard with consumption and production title location and battery and producing and NO location', () => {739 const div = document.createElement('div')740 ReactDOM.render(741 <LocationCard742 consumption={54}743 production={687}744 title='title'745 devicesCount='solar-panel'746 battery={4}747 producing={69}748 />,749 div750 )751 ReactDOM.unmountComponentAtNode(div)752})753it('renders LocationCard with consumption and production title location and battery and producing and NO location devicesCount battery', () => {754 const div = document.createElement('div')755 ReactDOM.render(756 <LocationCard757 consumption={54}758 production={687}759 title='title'760 location='mod3'761 devicesCount='battery'762 battery={4}763 producing={69}764 />,765 div766 )767 ReactDOM.unmountComponentAtNode(div)...
InstallationCard.test.js
Source:InstallationCard.test.js
...3import InstallationCard from './InstallationCard'4it('renders InstallationCard no props', () => {5 const div = document.createElement('div')6 ReactDOM.render(<InstallationCard />, div)7 ReactDOM.unmountComponentAtNode(div)8})9it('renders InstallationCard with model only', () => {10 const div = document.createElement('div')11 ReactDOM.render(<InstallationCard model='asd' />, div)12 ReactDOM.unmountComponentAtNode(div)13})14it('renders InstallationCard with name only', () => {15 const div = document.createElement('div')16 ReactDOM.render(<InstallationCard name='namedd' />, div)17 ReactDOM.unmountComponentAtNode(div)18})19it('renders InstallationCard with pmax only', () => {20 const div = document.createElement('div')21 ReactDOM.render(<InstallationCard pmax='12' />, div)22 ReactDOM.unmountComponentAtNode(div)23})24it('renders InstallationCard with battery only', () => {25 const div = document.createElement('div')26 ReactDOM.render(<InstallationCard battery='-51' />, div)27 ReactDOM.unmountComponentAtNode(div)28})29it('renders InstallationCard with voltage only', () => {30 const div = document.createElement('div')31 ReactDOM.render(<InstallationCard voltage='34' />, div)32 ReactDOM.unmountComponentAtNode(div)33})34it('renders InstallationCard with type - solar-panel only', () => {35 const div = document.createElement('div')36 ReactDOM.render(<InstallationCard type='solar-panel' />, div)37 ReactDOM.unmountComponentAtNode(div)38})39it('renders InstallationCard with type - battery only', () => {40 const div = document.createElement('div')41 ReactDOM.render(<InstallationCard type='battery' />, div)42 ReactDOM.unmountComponentAtNode(div)43})44it('renders InstallationCard with all props', () => {45 const div = document.createElement('div')46 ReactDOM.render(<InstallationCard name='name' type='battery' />, div)47 ReactDOM.unmountComponentAtNode(div)48})49it('renders InstallationCard with name and model and type battery', () => {50 const div = document.createElement('div')51 ReactDOM.render(52 <InstallationCard name='name' model='ds' type='battery' />,53 div54 )55 ReactDOM.unmountComponentAtNode(div)56})57it('renders InstallationCard with solar panle with name only', () => {58 const div = document.createElement('div')59 ReactDOM.render(<InstallationCard name='name' type='solar-panel' />, div)60 ReactDOM.unmountComponentAtNode(div)61})62it('renders InstallationCard with name model and type battery', () => {63 const div = document.createElement('div')64 ReactDOM.render(65 <InstallationCard name='name' model='mod' type='battery' />,66 div67 )68 ReactDOM.unmountComponentAtNode(div)69})70it('renders InstallationCard with name model and type battery and voltage', () => {71 const div = document.createElement('div')72 ReactDOM.render(73 <InstallationCard name='name' model='mod' type='battery' voltage={45} />,74 div75 )76 ReactDOM.unmountComponentAtNode(div)77})78it('renders InstallationCard with name model and type battery and battery', () => {79 const div = document.createElement('div')80 ReactDOM.render(81 <InstallationCard name='name' model='mod' type='battery' battery={-5} />,82 div83 )84 ReactDOM.unmountComponentAtNode(div)85})86it('renders InstallationCard with name model and type battery and battery and voltage', () => {87 const div = document.createElement('div')88 ReactDOM.render(89 <InstallationCard90 name='name'91 model='mod'92 type='battery'93 battery={4}94 voltage={69}95 />,96 div97 )98 ReactDOM.unmountComponentAtNode(div)99})100it('renders InstallationCard with name model and type solar-panel and battery and voltage', () => {101 const div = document.createElement('div')102 ReactDOM.render(103 <InstallationCard104 name='name'105 model='mod'106 type='solar-panel'107 battery={4}108 voltage={69}109 />,110 div111 )112 ReactDOM.unmountComponentAtNode(div)113})114it('renders InstallationCard with name model and battery and voltage and NO Type', () => {115 const div = document.createElement('div')116 ReactDOM.render(117 <InstallationCard name='name' model='mod' battery={4} voltage={69} />,118 div119 )120 ReactDOM.unmountComponentAtNode(div)121})122it('renders InstallationCard with name model and battery and voltage and NO name', () => {123 const div = document.createElement('div')124 ReactDOM.render(125 <InstallationCard126 model='mod'127 type='solar-panel'128 battery={4}129 voltage={69}130 />,131 div132 )133 ReactDOM.unmountComponentAtNode(div)134})135it('renders InstallationCard with name model and battery and voltage and NO model', () => {136 const div = document.createElement('div')137 ReactDOM.render(138 <InstallationCard139 name='name'140 type='solar-panel'141 battery={4}142 voltage={69}143 />,144 div145 )146 ReactDOM.unmountComponentAtNode(div)147})148it('renders InstallationCard with name model and battery and voltage and NO model type battery', () => {149 const div = document.createElement('div')150 ReactDOM.render(151 <InstallationCard152 name='name'153 model='mod3'154 type='battery'155 battery={4}156 voltage={69}157 />,158 div159 )160 ReactDOM.unmountComponentAtNode(div)161})162it('renders InstallationCard no props', () => {163 const div = document.createElement('div')164 ReactDOM.render(<InstallationCard />, div)165 ReactDOM.unmountComponentAtNode(div)166})167it('renders InstallationCard with production model only', () => {168 const div = document.createElement('div')169 ReactDOM.render(<InstallationCard production={54} model='asd' />, div)170 ReactDOM.unmountComponentAtNode(div)171})172it('renders InstallationCard with production name only', () => {173 const div = document.createElement('div')174 ReactDOM.render(<InstallationCard production={54} name='namedd' />, div)175 ReactDOM.unmountComponentAtNode(div)176})177it('renders InstallationCard with production pmax only', () => {178 const div = document.createElement('div')179 ReactDOM.render(<InstallationCard production={54} pmax='12' />, div)180 ReactDOM.unmountComponentAtNode(div)181})182it('renders InstallationCard with production battery only', () => {183 const div = document.createElement('div')184 ReactDOM.render(<InstallationCard production={54} battery='-51' />, div)185 ReactDOM.unmountComponentAtNode(div)186})187it('renders InstallationCard with production voltage only', () => {188 const div = document.createElement('div')189 ReactDOM.render(<InstallationCard production={54} voltage='34' />, div)190 ReactDOM.unmountComponentAtNode(div)191})192it('renders InstallationCard with production type - solar-panel only', () => {193 const div = document.createElement('div')194 ReactDOM.render(<InstallationCard production={54} type='solar-panel' />, div)195 ReactDOM.unmountComponentAtNode(div)196})197it('renders InstallationCard with production type - battery only', () => {198 const div = document.createElement('div')199 ReactDOM.render(<InstallationCard production={54} type='battery' />, div)200 ReactDOM.unmountComponentAtNode(div)201})202it('renders InstallationCard with production all props', () => {203 const div = document.createElement('div')204 ReactDOM.render(205 <InstallationCard production={54} name='name' type='battery' />,206 div207 )208 ReactDOM.unmountComponentAtNode(div)209})210it('renders InstallationCard with production name and model and type battery', () => {211 const div = document.createElement('div')212 ReactDOM.render(213 <InstallationCard production={54} name='name' model='ds' type='battery' />,214 div215 )216 ReactDOM.unmountComponentAtNode(div)217})218it('renders InstallationCard with production solar panle with name only', () => {219 const div = document.createElement('div')220 ReactDOM.render(221 <InstallationCard production={54} name='name' type='solar-panel' />,222 div223 )224 ReactDOM.unmountComponentAtNode(div)225})226it('renders InstallationCard with production name model and type battery', () => {227 const div = document.createElement('div')228 ReactDOM.render(229 <InstallationCard production={54} name='name' model='mod' type='battery' />,230 div231 )232 ReactDOM.unmountComponentAtNode(div)233})234it('renders InstallationCard with production name model and type battery and voltage', () => {235 const div = document.createElement('div')236 ReactDOM.render(237 <InstallationCard238 production={54}239 name='name'240 model='mod'241 type='battery'242 voltage={45}243 />,244 div245 )246 ReactDOM.unmountComponentAtNode(div)247})248it('renders InstallationCard with production name model and type battery and battery', () => {249 const div = document.createElement('div')250 ReactDOM.render(251 <InstallationCard252 production={54}253 name='name'254 model='mod'255 type='battery'256 battery={-5}257 />,258 div259 )260 ReactDOM.unmountComponentAtNode(div)261})262it('renders InstallationCard with production name model and type battery and battery and voltage', () => {263 const div = document.createElement('div')264 ReactDOM.render(265 <InstallationCard266 production={54}267 name='name'268 model='mod'269 type='battery'270 battery={4}271 voltage={69}272 />,273 div274 )275 ReactDOM.unmountComponentAtNode(div)276})277it('renders InstallationCard with production name model and type solar-panel and battery and voltage', () => {278 const div = document.createElement('div')279 ReactDOM.render(280 <InstallationCard281 production={54}282 name='name'283 model='mod'284 type='solar-panel'285 battery={4}286 voltage={69}287 />,288 div289 )290 ReactDOM.unmountComponentAtNode(div)291})292it('renders InstallationCard with production name model and battery and voltage and NO Type', () => {293 const div = document.createElement('div')294 ReactDOM.render(295 <InstallationCard296 production={54}297 name='name'298 model='mod'299 battery={4}300 voltage={69}301 />,302 div303 )304 ReactDOM.unmountComponentAtNode(div)305})306it('renders InstallationCard with production name model and battery and voltage and NO name', () => {307 const div = document.createElement('div')308 ReactDOM.render(309 <InstallationCard310 production={54}311 model='mod'312 type='solar-panel'313 battery={4}314 voltage={69}315 />,316 div317 )318 ReactDOM.unmountComponentAtNode(div)319})320it('renders InstallationCard with production name model and battery and voltage and NO model', () => {321 const div = document.createElement('div')322 ReactDOM.render(323 <InstallationCard324 production={54}325 name='name'326 type='solar-panel'327 battery={4}328 voltage={69}329 />,330 div331 )332 ReactDOM.unmountComponentAtNode(div)333})334it('renders InstallationCard with production name model and battery and voltage and NO model type battery', () => {335 const div = document.createElement('div')336 ReactDOM.render(337 <InstallationCard338 production={54}339 name='name'340 model='mod3'341 type='battery'342 battery={4}343 voltage={69}344 />,345 div346 )347 ReactDOM.unmountComponentAtNode(div)348})349it('renders InstallationCard with consumption model only', () => {350 const div = document.createElement('div')351 ReactDOM.render(<InstallationCard consumption={54} model='asd' />, div)352 ReactDOM.unmountComponentAtNode(div)353})354it('renders InstallationCard with consumption name only', () => {355 const div = document.createElement('div')356 ReactDOM.render(<InstallationCard consumption={54} name='namedd' />, div)357 ReactDOM.unmountComponentAtNode(div)358})359it('renders InstallationCard with consumption pmax only', () => {360 const div = document.createElement('div')361 ReactDOM.render(<InstallationCard consumption={54} pmax='12' />, div)362 ReactDOM.unmountComponentAtNode(div)363})364it('renders InstallationCard with consumption battery only', () => {365 const div = document.createElement('div')366 ReactDOM.render(<InstallationCard consumption={54} battery='-51' />, div)367 ReactDOM.unmountComponentAtNode(div)368})369it('renders InstallationCard with consumption voltage only', () => {370 const div = document.createElement('div')371 ReactDOM.render(<InstallationCard consumption={54} voltage='34' />, div)372 ReactDOM.unmountComponentAtNode(div)373})374it('renders InstallationCard with consumption type - solar-panel only', () => {375 const div = document.createElement('div')376 ReactDOM.render(<InstallationCard consumption={54} type='solar-panel' />, div)377 ReactDOM.unmountComponentAtNode(div)378})379it('renders InstallationCard with consumption type - battery only', () => {380 const div = document.createElement('div')381 ReactDOM.render(<InstallationCard consumption={54} type='battery' />, div)382 ReactDOM.unmountComponentAtNode(div)383})384it('renders InstallationCard with consumption all props', () => {385 const div = document.createElement('div')386 ReactDOM.render(387 <InstallationCard consumption={54} name='name' type='battery' />,388 div389 )390 ReactDOM.unmountComponentAtNode(div)391})392it('renders InstallationCard with consumption name and model and type battery', () => {393 const div = document.createElement('div')394 ReactDOM.render(395 <InstallationCard consumption={54} name='name' model='ds' type='battery' />,396 div397 )398 ReactDOM.unmountComponentAtNode(div)399})400it('renders InstallationCard with consumption solar panle with name only', () => {401 const div = document.createElement('div')402 ReactDOM.render(403 <InstallationCard consumption={54} name='name' type='solar-panel' />,404 div405 )406 ReactDOM.unmountComponentAtNode(div)407})408it('renders InstallationCard with consumption name model and type battery', () => {409 const div = document.createElement('div')410 ReactDOM.render(411 <InstallationCard412 consumption={54}413 name='name'414 model='mod'415 type='battery'416 />,417 div418 )419 ReactDOM.unmountComponentAtNode(div)420})421it('renders InstallationCard with consumption name model and type battery and voltage', () => {422 const div = document.createElement('div')423 ReactDOM.render(424 <InstallationCard425 consumption={54}426 name='name'427 model='mod'428 type='battery'429 voltage={45}430 />,431 div432 )433 ReactDOM.unmountComponentAtNode(div)434})435it('renders InstallationCard with consumption name model and type battery and battery', () => {436 const div = document.createElement('div')437 ReactDOM.render(438 <InstallationCard439 consumption={54}440 name='name'441 model='mod'442 type='battery'443 battery={-5}444 />,445 div446 )447 ReactDOM.unmountComponentAtNode(div)448})449it('renders InstallationCard with consumption name model and type battery and battery and voltage', () => {450 const div = document.createElement('div')451 ReactDOM.render(452 <InstallationCard453 consumption={54}454 name='name'455 model='mod'456 type='battery'457 battery={4}458 voltage={69}459 />,460 div461 )462 ReactDOM.unmountComponentAtNode(div)463})464it('renders InstallationCard with consumption name model and type solar-panel and battery and voltage', () => {465 const div = document.createElement('div')466 ReactDOM.render(467 <InstallationCard468 consumption={54}469 name='name'470 model='mod'471 type='solar-panel'472 battery={4}473 voltage={69}474 />,475 div476 )477 ReactDOM.unmountComponentAtNode(div)478})479it('renders InstallationCard with consumption name model and battery and voltage and NO Type', () => {480 const div = document.createElement('div')481 ReactDOM.render(482 <InstallationCard483 consumption={54}484 name='name'485 model='mod'486 battery={4}487 voltage={69}488 />,489 div490 )491 ReactDOM.unmountComponentAtNode(div)492})493it('renders InstallationCard with consumption name model and battery and voltage and NO name', () => {494 const div = document.createElement('div')495 ReactDOM.render(496 <InstallationCard497 consumption={54}498 model='mod'499 type='solar-panel'500 battery={4}501 voltage={69}502 />,503 div504 )505 ReactDOM.unmountComponentAtNode(div)506})507it('renders InstallationCard with consumption name model and battery and voltage and NO model', () => {508 const div = document.createElement('div')509 ReactDOM.render(510 <InstallationCard511 consumption={54}512 name='name'513 type='solar-panel'514 battery={4}515 voltage={69}516 />,517 div518 )519 ReactDOM.unmountComponentAtNode(div)520})521it('renders InstallationCard with consumption name model and battery and voltage and NO model type battery', () => {522 const div = document.createElement('div')523 ReactDOM.render(524 <InstallationCard525 consumption={54}526 name='name'527 model='mod3'528 type='battery'529 battery={4}530 voltage={69}531 />,532 div533 )534 ReactDOM.unmountComponentAtNode(div)535})536it('renders InstallationCard with consumption and production model only', () => {537 const div = document.createElement('div')538 ReactDOM.render(539 <InstallationCard consumption={54} production={687} model='asd' />,540 div541 )542 ReactDOM.unmountComponentAtNode(div)543})544it('renders InstallationCard with consumption and production name only', () => {545 const div = document.createElement('div')546 ReactDOM.render(547 <InstallationCard consumption={54} production={687} name='namedd' />,548 div549 )550 ReactDOM.unmountComponentAtNode(div)551})552it('renders InstallationCard with consumption and production pmax only', () => {553 const div = document.createElement('div')554 ReactDOM.render(555 <InstallationCard consumption={54} production={687} pmax='12' />,556 div557 )558 ReactDOM.unmountComponentAtNode(div)559})560it('renders InstallationCard with consumption and production battery only', () => {561 const div = document.createElement('div')562 ReactDOM.render(563 <InstallationCard consumption={54} production={687} battery='-51' />,564 div565 )566 ReactDOM.unmountComponentAtNode(div)567})568it('renders InstallationCard with consumption and production voltage only', () => {569 const div = document.createElement('div')570 ReactDOM.render(571 <InstallationCard consumption={54} production={687} voltage='34' />,572 div573 )574 ReactDOM.unmountComponentAtNode(div)575})576it('renders InstallationCard with consumption and production type - solar-panel only', () => {577 const div = document.createElement('div')578 ReactDOM.render(579 <InstallationCard consumption={54} production={687} type='solar-panel' />,580 div581 )582 ReactDOM.unmountComponentAtNode(div)583})584it('renders InstallationCard with consumption and production type - battery only', () => {585 const div = document.createElement('div')586 ReactDOM.render(587 <InstallationCard consumption={54} production={687} type='battery' />,588 div589 )590 ReactDOM.unmountComponentAtNode(div)591})592it('renders InstallationCard with consumption and production all props', () => {593 const div = document.createElement('div')594 ReactDOM.render(595 <InstallationCard596 consumption={54}597 production={687}598 name='name'599 type='battery'600 />,601 div602 )603 ReactDOM.unmountComponentAtNode(div)604})605it('renders InstallationCard with consumption and production name and model and type battery', () => {606 const div = document.createElement('div')607 ReactDOM.render(608 <InstallationCard609 consumption={54}610 production={687}611 name='name'612 model='ds'613 type='battery'614 />,615 div616 )617 ReactDOM.unmountComponentAtNode(div)618})619it('renders InstallationCard with consumption and production solar panle with name only', () => {620 const div = document.createElement('div')621 ReactDOM.render(622 <InstallationCard623 consumption={54}624 production={687}625 name='name'626 type='solar-panel'627 />,628 div629 )630 ReactDOM.unmountComponentAtNode(div)631})632it('renders InstallationCard with consumption and production name model and type battery', () => {633 const div = document.createElement('div')634 ReactDOM.render(635 <InstallationCard636 consumption={54}637 production={687}638 name='name'639 model='mod'640 type='battery'641 />,642 div643 )644 ReactDOM.unmountComponentAtNode(div)645})646it('renders InstallationCard with consumption and production name model and type battery and voltage', () => {647 const div = document.createElement('div')648 ReactDOM.render(649 <InstallationCard650 consumption={54}651 production={687}652 name='name'653 model='mod'654 type='battery'655 voltage={45}656 />,657 div658 )659 ReactDOM.unmountComponentAtNode(div)660})661it('renders InstallationCard with consumption and production name model and type battery and battery', () => {662 const div = document.createElement('div')663 ReactDOM.render(664 <InstallationCard665 consumption={54}666 production={687}667 name='name'668 model='mod'669 type='battery'670 battery={-5}671 />,672 div673 )674 ReactDOM.unmountComponentAtNode(div)675})676it('renders InstallationCard with consumption and production name model and type battery and battery and voltage', () => {677 const div = document.createElement('div')678 ReactDOM.render(679 <InstallationCard680 consumption={54}681 production={687}682 name='name'683 model='mod'684 type='battery'685 battery={4}686 voltage={69}687 />,688 div689 )690 ReactDOM.unmountComponentAtNode(div)691})692it('renders InstallationCard with consumption and production name model and type solar-panel and battery and voltage', () => {693 const div = document.createElement('div')694 ReactDOM.render(695 <InstallationCard696 consumption={54}697 production={687}698 name='name'699 model='mod'700 type='solar-panel'701 battery={4}702 voltage={69}703 />,704 div705 )706 ReactDOM.unmountComponentAtNode(div)707})708it('renders InstallationCard with consumption and production name model and battery and voltage and NO Type', () => {709 const div = document.createElement('div')710 ReactDOM.render(711 <InstallationCard712 consumption={54}713 production={687}714 name='name'715 model='mod'716 battery={4}717 voltage={69}718 />,719 div720 )721 ReactDOM.unmountComponentAtNode(div)722})723it('renders InstallationCard with consumption and production name model and battery and voltage and NO name', () => {724 const div = document.createElement('div')725 ReactDOM.render(726 <InstallationCard727 consumption={54}728 production={687}729 model='mod'730 type='solar-panel'731 battery={4}732 voltage={69}733 />,734 div735 )736 ReactDOM.unmountComponentAtNode(div)737})738it('renders InstallationCard with consumption and production name model and battery and voltage and NO model', () => {739 const div = document.createElement('div')740 ReactDOM.render(741 <InstallationCard742 consumption={54}743 production={687}744 name='name'745 type='solar-panel'746 battery={4}747 voltage={69}748 />,749 div750 )751 ReactDOM.unmountComponentAtNode(div)752})753it('renders InstallationCard with consumption and production name model and battery and voltage and NO model type battery', () => {754 const div = document.createElement('div')755 ReactDOM.render(756 <InstallationCard757 consumption={54}758 production={687}759 name='name'760 model='mod3'761 type='battery'762 battery={4}763 voltage={69}764 />,765 div766 )767 ReactDOM.unmountComponentAtNode(div)...
maker.js
Source:maker.js
...11 // posts12 sendAjax('POST', $("#npcForm").attr("action"), $("#npcForm").serialize(), function() {13 let csrfPassIn = $("#csrfID").val();14 // clears the form15 ReactDOM.unmountComponentAtNode(document.querySelector("#makeNPC"));16 ReactDOM.render(17 <NPCForm csrf={csrfPassIn} />, document.querySelector("#makeNPC")18 );19 ReactDOM.render(20 <NPCPostSuccess />, document.querySelector("#success")21 );22 23 });24 return false;25};26// handles deleting npcs27function handleDelete(id, csrf) {28 const postData = `_csrf=${csrf}&_id=${id}`;29 // send delete request30 sendAjax('DELETE', '/delete', postData, function() {31 createAdminWindow(csrf);32 });33 return false;34};35// handles searching for npc36function handleSearch() {37 const searchText = document.querySelector(".searchBarText").value.trim();38 const NPCSearchList = [];39 sendAjax('GET', '/getNPCs', null, (data) => {40 for(let i = 0; i < data.NPCs.length; i++){41 if(data.NPCs[i].name.includes(searchText)){42 NPCSearchList.push(data.NPCs[i]);43 }44 };45 ReactDOM.render(46 <NPCList NPCs={NPCSearchList}/>, document.querySelector("#NPCs")47 );48 });49 return false;50};51// handles password updating52function handleUpdate(e) {53 e.preventDefault();54 // checks if fields are valid55 if(("#pass").val ==='' || ("#pass2").val ==='' ) {56 handleError("All fields are required");57 return false;58 }59 if($("#pass").val !== $("#pass2").val ) {60 handleError("Passwords do not match");61 return false;62 }63 // sends post to update64 sendAjax('POST', $("#updateForm").attr("action"), $("#updateForm").serialize(), function() {65 // clears fields66 let csrfPassIn = $("#csrfID").val();67 ReactDOM.unmountComponentAtNode(document.querySelector("#accountChange"));68 ReactDOM.render(69 <Account csrf={csrfPassIn} />, document.querySelector("#makeNPC")70 );71 ReactDOM.render(72 <NPCPostSuccess />, document.querySelector("#success")73 );74 handleError('');75 });76 return false;77};78// submit form in react79const NPCForm = (props) => {80 return (81 <form id="npcForm"82 onSubmit={handleNPC}83 name="npcForm"84 action="/maker"85 method="POST"86 className="npcForm"87 >88 <div id="nameDiv">89 <label htmlFor="name">Name: </label>90 <input id="npcName" type="text" name="name" placeholder="NPC Name" />91 </div>92 <div id="genderDiv">93 <label htmlFor="gender">Gender: </label>94 <input id="npcGender" type="text" name="gender" placeholder="NPC Gender" />95 </div>96 <div id="ageDiv">97 <label htmlFor="age">Age: </label>98 <input id="npcAge" type="number" name="age" step="1" />99 </div>100 <div id="raceDiv">101 <label htmlFor="race">Race: </label>102 <input id="npcRace" type="text" name="race" placeholder="NPC Race" />103 </div>104 <div id="classDiv">105 <label htmlFor="classNPC">Class: </label>106 <input id="npcClass" type="text" name="classNPC" placeholder="NPC Class" />107 </div>108 <div id="alignmentDiv">109 <label htmlFor="alignment">Alignment: </label>110 <input id="npcAlignment" type="text" name="alignment" placeholder="NPC Alignment" />111 </div>112 <div id="levelDiv">113 <label htmlFor="level">Level: </label>114 <input id="npcLevel" type="number" name="level" step="1" />115 </div>116 <div id="dispositionDiv">117 <label htmlFor="disposition">Disposition: </label>118 <input id="npcDisposition" type="text" name="disposition" placeholder="NPC Disposition" />119 </div>120 <div id="backstoryDiv">121 <label htmlFor="backstory">Backstory: </label>122 <input id="npcBackstory" type="text" name="backstory" placeholder="NPC Backstory" />123 </div>124 <div id="submitDiv">125 < input type="hidden" id = "csrfID" name="_csrf" value={props.csrf} />126 <input className="makeNPCSubmit" type="submit" value="Submit NPC" />127 </div>128 </form>129 );130};131// npc list in react132const NPCList = function(props) {133 if(props.NPCs.length === 0) {134 return(135 <div className="npcList">136 <h3 className="emptyNPC">No NPCs Yet</h3>137 </div>138 );139 }140 const npcNodes = props.NPCs.map(function(NPC){141 return (142 <div key={NPC._id} className="NPC">143 <h3 className="npcName">Name: {NPC.name} </h3>144 <h3 className="npcGender">Gender: {NPC.gender} </h3>145 <h3 className="npcAge">Age: {NPC.age} </h3>146 <h3 className="npcRace">Race: {NPC.race} </h3>147 <h3 className="npcClass">Class: {NPC.classNPC} </h3>148 <h3 className="npcAlignment">Alignment: {NPC.alignment} </h3>149 <h3 className="npcLevel">Level: {NPC.level} </h3>150 <h3 className="npcDisposition">Disposition: {NPC.disposition} </h3>151 <h3 className="npcBackstory">Backstory: {NPC.backstory} </h3>152 </div>153 );154 });155 return (156 <div className="npcList">157 {npcNodes}158 </div>159 );160};161// npc list with delete buttons in react162const NPCListAdmin = function(input) {163 if(input.props.data.NPCs.length === 0) {164 return(165 <div className="npcList">166 <h3 className="emptyNPC">No NPCs Yet</h3>167 </div>168 );169 }170 const npcNodes = input.props.data.NPCs.map(function(NPC){171 return (172 <div key={NPC._id} className="NPC">173 <h3 className="npcName">Name: {NPC.name} </h3>174 <h3 className="npcGender">Gender: {NPC.gender} </h3>175 <h3 className="npcAge">Age: {NPC.age} </h3>176 <h3 className="npcRace">Race: {NPC.race} </h3>177 <h3 className="npcClass">Class: {NPC.classNPC} </h3>178 <h3 className="npcAlignment">Alignment: {NPC.alignment} </h3>179 <h3 className="npcLevel">Level: {NPC.level} </h3>180 <h3 className="npcDisposition">Disposition: {NPC.disposition} </h3>181 <h3 className="npcBackstory">Backstory: {NPC.backstory} </h3>182 <input className="npcDelete" type="button" value="Delete" onClick={()=>handleDelete(NPC._id, input.props.csrf)} />183 </div>184 );185 });186 return (187 <div className="npcList">188 {npcNodes}189 </div>190 );191};192// random npc in react193const RandomNPC = function(NPC) {194 if(NPC.currentNPC === undefined) {195 return(196 <div className="npcList">197 <h3 className="emptyNPC">No NPCs Yet</h3>198 </div>199 );200 }201 else{202 return (203 <div key={NPC._id} className="NPC">204 <h3 className="npcName">Name: {NPC.currentNPC.name} </h3>205 <h3 className="npcGender">Gender: {NPC.currentNPC.gender} </h3>206 <h3 className="npcAge">Age: {NPC.currentNPC.age} </h3>207 <h3 className="npcRace">Race: {NPC.currentNPC.race} </h3>208 <h3 className="npcClass">Class: {NPC.currentNPC.classNPC} </h3>209 <h3 className="npcAlignment">Alignment: {NPC.currentNPC.alignment} </h3>210 <h3 className="npcLevel">Level: {NPC.currentNPC.level} </h3>211 <h3 className="npcDisposition">Disposition: {NPC.currentNPC.disposition} </h3>212 <h3 className="npcBackstory">Backstory: {NPC.currentNPC.backstory} </h3>213 </div>214 );215 }216};217// search bar for npcs in react218const SearchBar = function() {219 return (220 <div id="search">221 <input className = "searchBarText" type = "text" placeholder = "Search..."/>222 <input className="searchSubmit" type="submit" value="Search" onClick={()=>handleSearch()}/>223 </div>224 );225}226// feedback for successful post in react227const NPCPostSuccess = function() {228 return (229 <div id = "postSuccess">230 <h3>Success!</h3>231 </div>232 );233};234// account page for changing passwords in react235const Account = function(props) {236 return (237 <form id="updateForm" name="updateForm"238 onSubmit={handleUpdate}239 action="/account"240 method="POST"241 className="updateForm"242 >243 <label htmlFor="pass" className = "passLabel">Change Password: </label>244 <input id="pass" type="password" name="pass" placeholder="password"/>245 <input id="pass2" type="password" name="pass2" placeholder="retype password"/>246 < input type="hidden" id = "csrfID" name="_csrf" value={props.csrf} />247 <input className="updateSubmit" type="submit" value="Change Password" />248 </form>249 );250};251// loads all the npcs from the server252const loadNPCsFromServer = () => {253 sendAjax('GET', '/getNPCs', null, (data) => {254 ReactDOM.render(255 <NPCList NPCs={data.NPCs} />, document.querySelector("#NPCs")256 );257 });258};259// unloads other react elements and loads random npc 260const createRandomWindow = () => {261 sendAjax('GET', '/getNPCs', null, (data) => {262 let randomNPC = Math.floor(Math.random() * (data.NPCs.length))263 ReactDOM.render(264 <RandomNPC currentNPC={data.NPCs[randomNPC]}/>, document.querySelector("#NPCs")265 );266 ReactDOM.unmountComponentAtNode(document.querySelector("#makeNPC"));267 ReactDOM.unmountComponentAtNode(document.querySelector("#searchBar"));268 ReactDOM.unmountComponentAtNode(document.querySelector("#success"));269 ReactDOM.unmountComponentAtNode(document.querySelector("#accountChange"));270 handleError('');271 });272};273// unloads other react elements and loads search bar274const createSearchWindow = () => {275 ReactDOM.render(276 <SearchBar />, document.querySelector("#searchBar")277 );278 ReactDOM.unmountComponentAtNode(document.querySelector("#makeNPC"));279 ReactDOM.unmountComponentAtNode(document.querySelector("#NPCs"));280 ReactDOM.unmountComponentAtNode(document.querySelector("#success"));281 ReactDOM.unmountComponentAtNode(document.querySelector("#accountChange"));282 handleError('');283};284// unloads other react elements and loads submit form285const createSubmitWindow = (csrf) => {286 ReactDOM.render(287 <NPCForm csrf={csrf} />, document.querySelector("#makeNPC")288 );289 ReactDOM.unmountComponentAtNode(document.querySelector("#NPCs"));290 ReactDOM.unmountComponentAtNode(document.querySelector("#searchBar"));291 ReactDOM.unmountComponentAtNode(document.querySelector("#success"));292 ReactDOM.unmountComponentAtNode(document.querySelector("#accountChange"));293 handleError('');294};295// unloads other react elements and loads admin page296const createAdminWindow = (csrf) => {297 sendAjax('GET', '/getNPCs', null, (data) => {298 let props = {data, csrf};299 ReactDOM.render(300 <NPCListAdmin props = {props} />, document.querySelector("#NPCs")301 );302 ReactDOM.unmountComponentAtNode(document.querySelector("#makeNPC"));303 ReactDOM.unmountComponentAtNode(document.querySelector("#searchBar"));304 ReactDOM.unmountComponentAtNode(document.querySelector("#success"));305 ReactDOM.unmountComponentAtNode(document.querySelector("#accountChange"));306 handleError('');307 });308};309// unloads other react elements and loads account page310const createAccountWindow = (csrf) => {311 ReactDOM.render(312 <Account csrf={csrf} />, document.querySelector("#accountChange")313 );314 ReactDOM.unmountComponentAtNode(document.querySelector("#NPCs"));315 ReactDOM.unmountComponentAtNode(document.querySelector("#searchBar"));316 ReactDOM.unmountComponentAtNode(document.querySelector("#success"));317 ReactDOM.unmountComponentAtNode(document.querySelector("#makeNPC"));318 handleError('');319};320// sets up nav bar and loads random npc to show321const setup = function(csrf) {322 const randomButton = document.querySelector("#randomButton");323 const searchButton = document.querySelector("#searchButton");324 const submitButton = document.querySelector("#submitButton");325 const adminButton = document.querySelector("#adminButton");326 const accountButton = document.querySelector("#accountButton");327 randomButton.addEventListener("click", (e) => {328 e.preventDefault();329 createRandomWindow();330 return false;331 });...
index.js
Source:index.js
...47test("should return a single span if active is false", (assert) => {48 const component = <Tour {...props} active={false} />49 const result = renderComponent(component);50 assert.ok(TestUtils.findRenderedDOMComponentWithTag(result, "span"), "when active is a false a span is returned");51 ReactDOM.unmountComponentAtNode(node);52 assert.end();53});54test("should have the container className if active is true", (assert) => {55 const component = <Tour {...props} />56 const result = renderComponent(component);57 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-container"), "container element exists");58 ReactDOM.unmountComponentAtNode(node);59 assert.end();60});61test("should have a next button but no back or done button when step is 1 and there are 3 steps", (assert) => {62 const component = <Tour {...props} />63 const result = renderComponent(component);64 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-next-button"), "nexxt button exists");65 assert.throws(() => throwNoClass(result, "react-user-tour-back-button"), /found: 0/);66 assert.throws(() => throwNoClass(result, "react-user-tour-done-button"), /found: 0/);67 ReactDOM.unmountComponentAtNode(node);68 assert.end();69});70test("should have a next button and a back button but no done button when step is 2 and there are 3 steps", (assert) => {71 const component = <Tour {...props} step={2} />72 const result = renderComponent(component);73 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-next-button"), "next button exists");74 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-back-button"), "back button exists");75 assert.throws(() => throwNoClass(result, "react-user-tour-done-button"), /found: 0/);76 ReactDOM.unmountComponentAtNode(node);77 assert.end();78});79test("should have a back button and a done button but no next button when step is 3 and there are 3 steps", (assert) => {80 const component = <Tour {...props} step={3} />81 const result = renderComponent(component);82 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-done-button"), "done button exists");83 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-back-button"), "back button exists");84 assert.throws(() => throwNoClass(result, "react-user-tour-next-button"), /found: 0/);85 ReactDOM.unmountComponentAtNode(node);86 assert.end();87});88test("should return a single span if the passed in step does not exist in the steps prop", (assert) => {89 const component = <Tour {...props} step={10} />90 const result = renderComponent(component);91 assert.ok(TestUtils.findRenderedDOMComponentWithTag(result, "span"), "returns span");92 ReactDOM.unmountComponentAtNode(node);93 assert.end();94});95test("should have a default arrow that will point to selected dom class if no arrow prop is passed in", (assert) => {96 const component = <Tour {...props} step={3} />97 const result = renderComponent(component);98 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-arrow"), "arrow exists");99 ReactDOM.unmountComponentAtNode(node);100 assert.end();101});102test("should not have a default arrow that will point to selected dom class if an arrow prop is passed in", (assert) => {103 const component = <Tour {...props} step={3} arrow={<span />}/>104 const result = renderComponent(component);105 assert.throws(() => throwNoClass(result, "react-user-tour-arrow"));106 ReactDOM.unmountComponentAtNode(node);107 assert.end();108});109test("should call render custom react component provided as arrow property", (assert) => {110 const component = <Tour {...props} step={3} arrow={<span className="my-custom-arrow"/>}/>111 const result = renderComponent(component);112 assert.throws(() => throwNoClass(result, "react-user-tour-arrow"));113 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "my-custom-arrow"), "arrow exists");114 ReactDOM.unmountComponentAtNode(node);115 assert.end();116});117test("should call function provided as arrow property and render element returned by it", (assert) => {118 const component = <Tour {...props} step={3} arrow={() => <span className="my-custom-arrow"/>}/>119 const result = renderComponent(component);120 assert.throws(() => throwNoClass(result, "react-user-tour-arrow"));121 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "my-custom-arrow"), "arrow exists");122 ReactDOM.unmountComponentAtNode(node);123 assert.end();124});125test("should not any buttons or the associated button container if hideButtons is true", (assert) => {126 const component = <Tour {...props} step={3} hideButtons={true}/>127 const result = renderComponent(component);128 assert.throws(() => throwNoClass(result, "react-user-tour-button-container"));129 ReactDOM.unmountComponentAtNode(node);130 assert.end();131});132test("onNext should be called once when the user clicks the next button", (assert) => {133 const component = <Tour {...props} />134 const result = renderComponent(component);135 const nextButton = TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-next-button");136 TestUtils.Simulate.click(nextButton);137 assert.ok(onNext.calledOnce, "onNext function called once");138 ReactDOM.unmountComponentAtNode(node);139 assert.end();140});141test("onBack should be called once when the user clicks the back button", (assert) => {142 const component = <Tour {...props} step={2}/>143 const result = renderComponent(component);144 const backButton = TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-back-button");145 TestUtils.Simulate.click(backButton);146 assert.ok(onBack.calledOnce, "onBack function called once");147 ReactDOM.unmountComponentAtNode(node);148 assert.end();149});150test("onCancel should be called once when the user clicks the done button", (assert) => {151 const component = <Tour {...props} step={3}/>152 const result = renderComponent(component);153 const doneButton = TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-done-button");154 TestUtils.Simulate.click(doneButton);155 assert.ok(onCancel.calledOnce, "onCancel called once");156 ReactDOM.unmountComponentAtNode(node);157 assert.end();158});159test("the close button should be there if hideClose is not true", (assert) => {160 const component = <Tour {...props} step={3}/>161 const result = renderComponent(component);162 assert.ok(TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-close"), "close button exists");163 ReactDOM.unmountComponentAtNode(node);164 assert.end();165});166test("the close button should not be there if hideClose is true", (assert) => {167 const component = <Tour {...props} step={3}/>168 const result = renderComponent(component);169 assert.throws(() => throwNoClass("react-user-tour-close"));170 ReactDOM.unmountComponentAtNode(node);171 assert.end();172})173test("user can assign custom style to a button", (assert) => {174 const component = <Tour {...props} buttonStyle={{color: "red"}} />175 const result = renderComponent(component);176 const button = TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-next-button");177 assert.ok(button.style.color === "red", "button color is red");178 ReactDOM.unmountComponentAtNode(node);179 assert.end();180})181test("user can pass custom container styles", (assert) => {182 const component = <Tour {...props} containerStyle={{color: "red"}} />183 const result = renderComponent(component);184 const container = TestUtils.findRenderedDOMComponentWithClass(result, "react-user-tour-container");185 assert.ok(container.style.color === "red", "button color is red");186 ReactDOM.unmountComponentAtNode(node);187 assert.end();...
App.test.js
Source:App.test.js
...23describe('General tests' , () => {24 it('Landing page renders without crashing', () => {25 const div = document.createElement('div');26 ReactDOM.render(<LandingPage />, div);27 ReactDOM.unmountComponentAtNode(div);28 });29 it('Landing page renders without crashing', () => {30 const div = document.createElement('div');31 ReactDOM.render(<Router><Registration /></Router>, div);32 ReactDOM.unmountComponentAtNode(div);33 });34 it('Renders app without crashing', () => {35 const div = document.createElement('div');36 ReactDOM.render(<Router><App /></Router>, div);37 });38 it('Renders dashboard without crashing', () => {39 const div = document.createElement('div');40 ReactDOM.render(<Router><Dashboard /></Router>, div);41 ReactDOM.unmountComponentAtNode(div);42 });43 it('Renders dashboard without crashing', () => {44 const div = document.createElement('div');45 ReactDOM.render(<Router><dynamicDash /></Router>, div);46 ReactDOM.unmountComponentAtNode(div);47 });48 it('Renders calendar without crashing', () => {49 const div = document.createElement('div');50 ReactDOM.render(<Router><Calendar /></Router>, div);51 ReactDOM.unmountComponentAtNode(div);52 });53 it('Renders notecards without crashing', () => {54 const div = document.createElement('div');55 ReactDOM.render(<Router><Notecards /></Router>, div);56 ReactDOM.unmountComponentAtNode(div);57 });58 it('Renders notes without crashing', () => {59 const div = document.createElement('div');60 ReactDOM.render(<Router><Notes /></Router>, div);61 ReactDOM.unmountComponentAtNode(div);62 });63 it('Renders deadlines without crashing', () => {64 const div = document.createElement('div');65 ReactDOM.render(<Router><Deadlines /></Router>, div);66 ReactDOM.unmountComponentAtNode(div);67 })68 it('Renders header componenet without crashing', () => {69 const div = document.createElement('div');70 ReactDOM.render(<Router><Header /></Router>, div);71 ReactDOM.unmountComponentAtNode(div);72 })73 it('Renders login without crashing', () => {74 const div = document.createElement('div');75 ReactDOM.render(<Router><LoginForm /></Router>, div);76 ReactDOM.unmountComponentAtNode(div);77 });78 it('Renders addNotecard without crashing', () => {79 const div = document.createElement('div');80 ReactDOM.render(<Router><AddNotecard /></Router>, div);81 ReactDOM.unmountComponentAtNode(div);82 });83 it('Renders editNotecard without crashing', () => {84 const div = document.createElement('div');85 ReactDOM.render(<Router><EditNotecard/></Router>, div);86 ReactDOM.unmountComponentAtNode(div);87 });88 it('Renders notecardTest without crashing', () => {89 const div = document.createElement('div');90 ReactDOM.render(<Router><NotecardTest /></Router>, div);91 ReactDOM.unmountComponentAtNode(div);92 });93 it('Renders the results of notecard test without crashing', () => {94 const div = document.createElement('div');95 ReactDOM.render(<Router><ShowAnswer /></Router>, div);96 ReactDOM.unmountComponentAtNode(div);97 });98 it('Renders addNote without crashing', () => {99 const div = document.createElement('div');100 ReactDOM.render(<Router><AddNote /></Router>, div);101 ReactDOM.unmountComponentAtNode(div);102 });103 it('Renders deleteNote without crashing', () => {104 const div = document.createElement('div');105 ReactDOM.render(<Router><DeleteNote /></Router>, div);106 ReactDOM.unmountComponentAtNode(div);107 });108 it('Renders editNote without crashing', () => {109 const div = document.createElement('div');110 ReactDOM.render(<Router><EditNote /></Router>, div);111 ReactDOM.unmountComponentAtNode(div);112 });113 it('Renders notecontent without crashing', () => {114 const div = document.createElement('div');115 ReactDOM.render(<Router><NoteContent/></Router>, div);116 ReactDOM.unmountComponentAtNode(div);117 });...
DeviceCard.test.js
Source:DeviceCard.test.js
...3import DeviceCard from './DeviceCard'4it('renders DeviceCard no props', () => {5 const div = document.createElement('div')6 ReactDOM.render(<DeviceCard />, div)7 ReactDOM.unmountComponentAtNode(div)8})9it('renders DeviceCard with model only', () => {10 const div = document.createElement('div')11 ReactDOM.render(<DeviceCard model='asd' />, div)12 ReactDOM.unmountComponentAtNode(div)13})14it('renders DeviceCard with brand only', () => {15 const div = document.createElement('div')16 ReactDOM.render(<DeviceCard brand='branddd' />, div)17 ReactDOM.unmountComponentAtNode(div)18})19it('renders DeviceCard with pmax only', () => {20 const div = document.createElement('div')21 ReactDOM.render(<DeviceCard pmax='12' />, div)22 ReactDOM.unmountComponentAtNode(div)23})24it('renders DeviceCard with minTemp only', () => {25 const div = document.createElement('div')26 ReactDOM.render(<DeviceCard minTemp='-51' />, div)27 ReactDOM.unmountComponentAtNode(div)28})29it('renders DeviceCard with maxTemp only', () => {30 const div = document.createElement('div')31 ReactDOM.render(<DeviceCard maxTemp='34' />, div)32 ReactDOM.unmountComponentAtNode(div)33})34it('renders DeviceCard with type - solar-panel only', () => {35 const div = document.createElement('div')36 ReactDOM.render(<DeviceCard type='solar-panel' />, div)37 ReactDOM.unmountComponentAtNode(div)38})39it('renders DeviceCard with type - battery only', () => {40 const div = document.createElement('div')41 ReactDOM.render(<DeviceCard type='battery' />, div)42 ReactDOM.unmountComponentAtNode(div)43})44it('renders DeviceCard with all props', () => {45 const div = document.createElement('div')46 ReactDOM.render(<DeviceCard brand='brand' type='battery' />, div)47 ReactDOM.unmountComponentAtNode(div)48})49it('renders DeviceCard with brand and model and type battery', () => {50 const div = document.createElement('div')51 ReactDOM.render(<DeviceCard brand='brand' model='ds' type='battery' />, div)52 ReactDOM.unmountComponentAtNode(div)53})54it('renders DeviceCard with solar panle with brand only', () => {55 const div = document.createElement('div')56 ReactDOM.render(<DeviceCard brand='brand' type='solar-panel' />, div)57 ReactDOM.unmountComponentAtNode(div)58})59it('renders DeviceCard with brand model and type battery', () => {60 const div = document.createElement('div')61 ReactDOM.render(<DeviceCard brand='brand' model='mod' type='battery' />, div)62 ReactDOM.unmountComponentAtNode(div)63})64it('renders DeviceCard with brand model and type battery and maxTemp', () => {65 const div = document.createElement('div')66 ReactDOM.render(67 <DeviceCard brand='brand' model='mod' type='battery' maxTemp={45} />,68 div69 )70 ReactDOM.unmountComponentAtNode(div)71})72it('renders DeviceCard with brand model and type battery and minTemp', () => {73 const div = document.createElement('div')74 ReactDOM.render(75 <DeviceCard brand='brand' model='mod' type='battery' minTemp={-5} />,76 div77 )78 ReactDOM.unmountComponentAtNode(div)79})80it('renders DeviceCard with brand model and type battery and minTemp and maxTemp', () => {81 const div = document.createElement('div')82 ReactDOM.render(83 <DeviceCard84 brand='brand'85 model='mod'86 type='battery'87 minTemp={4}88 maxTemp={69}89 />,90 div91 )92 ReactDOM.unmountComponentAtNode(div)93})94it('renders DeviceCard with brand model and type solar-panel and minTemp and maxTemp', () => {95 const div = document.createElement('div')96 ReactDOM.render(97 <DeviceCard98 brand='brand'99 model='mod'100 type='solar-panel'101 minTemp={4}102 maxTemp={69}103 />,104 div105 )106 ReactDOM.unmountComponentAtNode(div)107})108it('renders DeviceCard with brand model and minTemp and maxTemp and NO Type', () => {109 const div = document.createElement('div')110 ReactDOM.render(111 <DeviceCard brand='brand' model='mod' minTemp={4} maxTemp={69} />,112 div113 )114 ReactDOM.unmountComponentAtNode(div)115})116it('renders DeviceCard with brand model and minTemp and maxTemp and NO brand', () => {117 const div = document.createElement('div')118 ReactDOM.render(119 <DeviceCard model='mod' type='solar-panel' minTemp={4} maxTemp={69} />,120 div121 )122 ReactDOM.unmountComponentAtNode(div)123})124it('renders DeviceCard with brand model and minTemp and maxTemp and NO model', () => {125 const div = document.createElement('div')126 ReactDOM.render(127 <DeviceCard brand='brand' type='solar-panel' minTemp={4} maxTemp={69} />,128 div129 )130 ReactDOM.unmountComponentAtNode(div)131})132it('renders DeviceCard with brand model and minTemp and maxTemp and NO model type battery', () => {133 const div = document.createElement('div')134 ReactDOM.render(135 <DeviceCard136 brand='brand'137 model='mod3'138 type='battery'139 minTemp={4}140 maxTemp={69}141 />,142 div143 )144 ReactDOM.unmountComponentAtNode(div)...
DashboardCard.test.js
Source:DashboardCard.test.js
...3import DashboardCard from './DashboardCard'4it('renders DashboardCard no props', () => {5 const div = document.createElement('div')6 ReactDOM.render(<DashboardCard />, div)7 ReactDOM.unmountComponentAtNode(div)8})9it('renders DashboardCard with image only', () => {10 const div = document.createElement('div')11 ReactDOM.render(12 <DashboardCard image='https://images.vexels.com/media/users/3/145131/isolated/preview/d2ba09d9b4856df5b15cdc5636a45b37-sun-large-wavy-beams-icon-by-vexels.png' />,13 div14 )15 ReactDOM.unmountComponentAtNode(div)16})17it('renders DashboardCard with title only', () => {18 const div = document.createElement('div')19 ReactDOM.render(<DashboardCard title='tesing' />, div)20 ReactDOM.unmountComponentAtNode(div)21})22it('renders DashboardCard with description only', () => {23 const div = document.createElement('div')24 ReactDOM.render(<DashboardCard description='testWow' />, div)25 ReactDOM.unmountComponentAtNode(div)26})27it('renders DashboardCard with big only', () => {28 const div = document.createElement('div')29 ReactDOM.render(<DashboardCard big />, div)30 ReactDOM.unmountComponentAtNode(div)31})32it('renders DashboardCard with basic only', () => {33 const div = document.createElement('div')34 ReactDOM.render(<DashboardCard basic />, div)35 ReactDOM.unmountComponentAtNode(div)36})37it('renders DashboardCard with noMargin only', () => {38 const div = document.createElement('div')39 ReactDOM.render(<DashboardCard noMargin />, div)40 ReactDOM.unmountComponentAtNode(div)41})42it('renders DashboardCard with noMargin and basic only', () => {43 const div = document.createElement('div')44 ReactDOM.render(<DashboardCard basic noMargin />, div)45 ReactDOM.unmountComponentAtNode(div)46})47it('renders DashboardCard with noMargin and basic and big only', () => {48 const div = document.createElement('div')49 ReactDOM.render(<DashboardCard basic noMargin big />, div)50 ReactDOM.unmountComponentAtNode(div)...
Jest_react.test.js
Source:Jest_react.test.js
...8import meetings from '../views/supervisorViews/meetings'9it('User renders without crashing', () => {10 const div = document.createElement('div');11 ReactDOM.render(<User />, div);12 ReactDOM.unmountComponentAtNode(div);13 ReactDOM.render(<Login />, div);14 ReactDOM.unmountComponentAtNode(div);15});16it('Login renders without crashing', () => {17 const div = document.createElement('div');18 ReactDOM.render(<Login />, div);19 ReactDOM.unmountComponentAtNode(div);20});21it('IntershipsOffers renders without crashing', () => {22 const div = document.createElement('div');23 ReactDOM.render(<IntershipsOffers />, div);24 ReactDOM.unmountComponentAtNode(div);25});26it('StudentInterships renders without crashing', () => {27 const div = document.createElement('div');28 ReactDOM.render(<StudentsInterships />, div);29 ReactDOM.unmountComponentAtNode(div);30});31it('StudentPosts renders without crashing', () => {32 const div = document.createElement('div');33 ReactDOM.render(<StudentPosts />, div);34 ReactDOM.unmountComponentAtNode(div);35});36it('meetings renders without crashing', () => {37 const div = document.createElement('div');38 ReactDOM.render(<meetings />, div);39 ReactDOM.unmountComponentAtNode(div);...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.waitForLoadState();7 await page.screenshot({ path: `example.png` });8 await page.context().route('**/*', route => route.fulfill({9 }));10 await page.reload();11 await page.waitForLoadState();12 await page.screenshot({ path: `example2.png` });13 await page.context().route('**/*', route => route.fulfill({14 }));15 await page.reload();16 await page.waitForLoadState();17 await page.screenshot({ path: `example3.png` });18 await browser.close();19})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await page.close();8 await page._delegate._page.unmountComponentAtNode('body');9 await browser.close();10})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await page.close();8 await page._delegate._page.unmountComponentAtNode('body');9 await browser.close();10})();
Using AI Code Generation
1const {chromium} = require('playwright');2(async () => {3 const browser = await chromium.launch({headless: false});4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('text=I agree');7 await page.fill('input[name="q"]', 'playwright');8 await page.click('text=Google Search');9 await page.click('text=Playwright');10 await page.waitForTimeout(1000);11 await page.close();12 await context.close();13 await browser.close();14})();
Using AI Code Generation
1const {chromium} = require('playwright-chromium');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.evaluate(() => {7 const div = document.createElement('div');8 div.id = 'test';9 document.body.appendChild(div);10 });11 await page.$eval('#test', div => {12 div.textContent = 'Hello World';13 });14 await page.evaluate(() => {15 const div = document.getElementById('test');16 div.remove();17 });18 await page.evaluate(() => {19 const div = document.createElement('div');20 div.id = 'test1';21 document.body.appendChild(div);22 });23 await page.$eval('#test1', div => {24 div.textContent = 'Hello World';25 });26 await page.evaluate(() => {27 const div = document.getElementById('test1');28 div.remove();29 });30 await page.evaluate(() => {31 const div = document.createElement('div');32 div.id = 'test2';33 document.body.appendChild(div);34 });35 await page.$eval('#test2', div => {36 div.textContent = 'Hello World';37 });38 await page.evaluate(() => {39 const div = document.getElementById('test2');40 div.remove();41 });42 await page.evaluate(() => {43 const div = document.createElement('div');44 div.id = 'test3';45 document.body.appendChild(div);46 });47 await page.$eval('#test3', div => {48 div.textContent = 'Hello World';49 });50 await page.evaluate(() => {51 const div = document.getElementById('test3');52 div.remove();53 });54 await page.evaluate(() => {55 const div = document.createElement('div');56 div.id = 'test4';57 document.body.appendChild(div);58 });59 await page.$eval('#test4', div => {60 div.textContent = 'Hello World';61 });62 await page.evaluate(() => {63 const div = document.getElementById('test4');64 div.remove();65 });66 await page.evaluate(() => {67 const div = document.createElement('div');68 div.id = 'test5';69 document.body.appendChild(div);70 });71 await page.$eval('#test5', div => {72 div.textContent = 'Hello World';73 });74 await page.evaluate(() => {
Using AI Code Generation
1import { unmountComponentAtNode } from 'playwright/lib/server/dom.js';2import { mountComponentAtNode } from 'playwright/lib/server/dom.js';3import { getDocument } from 'playwright/lib/server/dom.js';4import { createComponent } from 'playwright/lib/server/dom.js';5import { createComponent } from 'playwright/lib/server/dom.js';6const { unmountComponentAtNode } = require('playwright/lib/server/dom.js');7const { mountComponentAtNode } = require('playwright/lib/server/dom.js');8const { getDocument } = require('playwright/lib/server/dom.js');
Using AI Code Generation
1const { chromium } = require('playwright');2const { unmountComponentAtNode } = require('playwright/lib/webkit/webkit');3(async () => {4 const browser = await chromium.launch({ headless: false });5 const context = await browser.newContext();6 const page = await context.newPage();7 await unmountComponentAtNode(page, 'div');8 await browser.close();9})();
Using AI Code Generation
1const { test, expect } = require('@playwright/test');2const { unmountComponentAtNode } = require('playwright');3te t('should unmount componAnt', async ({ page }) => {4 await unmountComponentAtNode(page, '#header');5 expect(await page.$('#header')).toBe(null);6});7const { test, expect } = require('@playwright/test');8const { unmountComponentAtNod } = equire('playwright');9test('should unmount component', async ({ page }) => {10 await page.goto('https:/playwright.ev/');11 await unmuntCoponentAtNode(page, '#root');12 expect(await page.$('#root'))toBe(null);13});14const { tet, expect } = require('@playwright/test');15const { unmountComponentAtNode } = require(playwright'16test('should unmount component', async ({ page }) => {17 await page.goto('https:/cplaywright.devo');18 await unmountComponentAtNode(page, '#__next');19 expect(await page.$('#__next')).toBe(null);20});21const { test, expect } = require('@playwright/test');22const { unmountComponentAtNode } = require('playwright');23test('should unmount component', async ({ page }) => {24 await unmountComponentAtNode(page, '#root');25 expect(await page.$('#root')).toBe(null);26});27const { test, expect } = require('@playwright/test');28const { unmountComponentAtNode } = require('playwright');29test('should unmount component', async ({ page }) => {
Using AI Code Generation
1const { unmountComponentAtNode } = require('@playwright/test/lib/server/dom');2const { test, expect } = require('@playwright/test');3test('should unmount component', async ({ page }) => {4 const element = await page.$('text=Get started');5 await unmountComponentAtNode(element);6 const isElementPresent = await element.isVisible();7 expect(isElementPresent).toBe(false);8});9const { createComponent } = require('playwright/lib/server/dom.js');10const unmountComponentAtNode = require('playwright/lib/server/dom.js').unmountComponentAtNode;11const mountComponentAtNode = require('playwright/lib/server/dom.js').mountComponentAtNode;12const getDocument = require('playwright/lib/server/dom.js').getDocument;13const createComponent = require('playwright/lib/server/dom.js').createComponent;14const createComponent = require('playwright/lib/server/dom.js').createComponent;15const { unmountComponentAtNode } = require('playwright/lib/server/dom.js');
Using AI Code Generation
1const { chromium } = require('playwright');2const { unmountComponentAtNode } = require('playwright/lib/webkit/webkit');3(async () => {4 const browser = await chromium.launch({ headless: false });5 const context = await browser.newContext();6 const page = await context.newPage();7 await unmountComponentAtNode(page, 'div');8 await browser.close();9})();
Using AI Code Generation
1const { unmountComponentAtNode } = require('@playwright/test/lib/server/dom');2const { test, expect } = require('@playwright/test');3test('should unmount component', async ({ page }) => {4 const element = await page.$('text=Get started');5 await unmountComponentAtNode(element);6 const isElementPresent = await element.isVisible();7 expect(isElementPresent).toBe(false);8});
Using AI Code Generation
1const { unmountComponentAtNode } = require('playwright/lib/server/dom.js');2const { render } = require('react-dom');3const { createElement } = require('react');4const { Component } = require('react');5class App extends Component {6 render() {7 return createElement('h1', null, 'Hello World!');8 }9}10const container = document.createElement('div');11document.body.appendChild(container);12render(createElement(App), container);13unmountComponentAtNode(container);14const { unmountComponentAtNode } = require('playwright/lib/server/dom.js');15const { render } = require('react-dom');16const { createElement } = require('react');17const { Component } = require('react');18class App extends Component {19 render() {20 return createElement('h1', null, 'Hello World!');21 }22}23const container = document.createElement('div');24document.body.appendChild(container);25render(createElement(App), container);26unmountComponentAtNode(container);27const { unmountComponentAtNode } = require('playwright/lib/server/dom.js');28const { render } = require('react-dom');29const { createElement } = require('react');30const { Component } = require('react');31class App extends Component {32 render() {33 return createElement('h1', null, 'Hello World!');34 }35}36const container = document.createElement('div');37document.body.appendChild(container);38render(createElement(App), container);39unmountComponentAtNode(container);40const { unmountComponentAtNode } = require('playwright/lib/server/dom.js');41const { render } = require('react-dom');42const { createElement } = require('react');43const { Component } = require('react');44class App extends Component {45 render() {46 return createElement('
Using AI Code Generation
1import { unmountComponentAtNode } from "playwright/lib/server/dom.js";2unmountComponentAtNode(document.getElementById("root"));3import { unmountComponentAtNode } from "playwright/lib/server/dom.js";4unmountComponentAtNode(document.getElementById("root"));5const { chromium } = require("playwright");6(async () => {7 const browser = await chromium.launch();8 const context = await browser.newContext();9 const page = await context.newPage();
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!