Best JavaScript code snippet using fast-check-monorepo
router.ts
Source:router.ts
1import { Router, Request, Response } from 'express';2import expressWs from 'express-ws';3import { AdminController } from './controllers/admin.controller';4import { AppointmentController } from './controllers/appointment.controller';5import { AuthController } from './controllers/auth.controller';6import { InventoryController } from './controllers/inventory.controller';7import { LivecamController } from './controllers/livecam.controller';8import { MessagingController } from './controllers/messaging.controller';9import { OrderController } from './controllers/order.controller';10import { RoomController } from './controllers/room.controller';11import { UserController } from './controllers/user.controller';12import environment from './environment';13import { ForbiddenInputMiddleware } from './forbidden_input.middleware';14const addUUIDRegexToRoute = (route: string) => {15 const uuid_regex =16 '([0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12})';17 const matches = route.match(/:\w+/g);18 for (const i in matches) {19 route = route.replace(matches[+i], matches[+i] + uuid_regex);20 }21 return route;22};23const asyncErrorHandler = async (24 req: Request,25 res: Response,26 fn: (req: Request, res: Response) => Promise<void>27) => {28 try {29 await fn(req, res);30 } catch (err) {31 if (!res.headersSent)32 res.status(500).json({ message: 'An unknown server error occurred.' });33 }34};35class AppRouter {36 public router = Router();37 init(expressWs: expressWs.Instance) {38 expressWs.applyTo(this.router);39 // Authentication40 this.router.post(environment.apiRoutes.auth.login, AuthController.login);41 this.router.delete(42 environment.apiRoutes.auth.logout,43 AuthController.checkAuthenticationMiddleware,44 async (req, res) => asyncErrorHandler(req, res, AuthController.logout)45 );46 this.router.post(47 environment.apiRoutes.auth.tokenRefresh,48 async (req, res) =>49 asyncErrorHandler(req, res, AuthController.refreshToken)50 );51 this.router.post(52 environment.apiRoutes.auth.tokenCheck,53 AuthController.checkAuthenticationMiddleware,54 async (req, res) => asyncErrorHandler(req, res, AuthController.checkToken)55 );56 // Messaging57 this.router.get(58 environment.apiRoutes.messages.getCurrentUserMessages,59 AuthController.checkAuthenticationMiddleware,60 async (req, res) =>61 asyncErrorHandler(req, res, MessagingController.getMessages)62 );63 this.router.ws(64 environment.apiRoutes.messages.registerMessageWebsocket,65 AuthController.checkWebSocketAuthenticationMiddleware,66 MessagingController.registerUnreadMessagesSocket67 );68 this.router.get(69 environment.apiRoutes.messages.getCurrentUserUnreadMessagesAmounts,70 AuthController.checkAuthenticationMiddleware,71 async (req, res) =>72 asyncErrorHandler(73 req,74 res,75 MessagingController.getUnreadMessagesAmounts76 )77 );78 this.router.delete(79 addUUIDRegexToRoute(environment.apiRoutes.messages.deleteMessage),80 AuthController.checkAuthenticationMiddleware,81 async (req, res) =>82 asyncErrorHandler(req, res, MessagingController.deleteMessage)83 );84 this.router.patch(85 addUUIDRegexToRoute(environment.apiRoutes.messages.updateMessage),86 AuthController.checkAuthenticationMiddleware,87 ForbiddenInputMiddleware,88 async (req, res) =>89 asyncErrorHandler(req, res, MessagingController.updateMessage)90 );91 // Personal User Settings92 this.router.get(93 environment.apiRoutes.user_settings.getCurrentUser,94 AuthController.checkAuthenticationMiddleware,95 async (req, res) => asyncErrorHandler(req, res, UserController.getUser)96 );97 this.router.post(98 environment.apiRoutes.user_settings.register,99 ForbiddenInputMiddleware,100 async (req, res) => asyncErrorHandler(req, res, UserController.register)101 );102 this.router.post(103 environment.apiRoutes.user_settings.verifyEmail,104 async (req, res) =>105 asyncErrorHandler(req, res, UserController.verifyEmail)106 );107 this.router.patch(108 environment.apiRoutes.user_settings.updateCurrentUser,109 AuthController.checkAuthenticationMiddleware,110 ForbiddenInputMiddleware,111 async (req, res) => asyncErrorHandler(req, res, UserController.updateUser)112 );113 this.router.delete(114 environment.apiRoutes.user_settings.deleteCurrentUser,115 AuthController.checkAuthenticationMiddleware,116 async (req, res) => asyncErrorHandler(req, res, UserController.deleteUser)117 );118 // Admin (General Settings & User Management)119 this.router.get(120 environment.apiRoutes.admin_settings.getGlobalSettings,121 async (req, res) =>122 asyncErrorHandler(req, res, AdminController.getGlobalSettings)123 );124 this.router.patch(125 environment.apiRoutes.admin_settings.updateGlobalSettings,126 AuthController.checkAuthenticationMiddleware,127 AuthController.checkAdminMiddleware,128 async (req, res) =>129 asyncErrorHandler(req, res, AdminController.updateGlobalSettings)130 );131 this.router.get(132 addUUIDRegexToRoute(133 environment.apiRoutes.admin_settings.getWhitelistRetailer134 ),135 AuthController.checkAuthenticationMiddleware,136 AuthController.checkAdminMiddleware,137 async (req, res) =>138 asyncErrorHandler(req, res, AdminController.getWhitelistRetailer)139 );140 this.router.get(141 environment.apiRoutes.admin_settings.getWhitelistRetailers,142 AuthController.checkAuthenticationMiddleware,143 async (req, res) =>144 asyncErrorHandler(req, res, AdminController.getWhitelistRetailers)145 );146 this.router.post(147 environment.apiRoutes.admin_settings.createWhitelistRetailer,148 AuthController.checkAuthenticationMiddleware,149 AuthController.checkAdminMiddleware,150 ForbiddenInputMiddleware,151 async (req, res) =>152 asyncErrorHandler(req, res, AdminController.createWhitelistRetailer)153 );154 this.router.patch(155 addUUIDRegexToRoute(156 environment.apiRoutes.admin_settings.updateWhitelistRetailer157 ),158 AuthController.checkAuthenticationMiddleware,159 AuthController.checkAdminMiddleware,160 ForbiddenInputMiddleware,161 async (req, res) =>162 asyncErrorHandler(req, res, AdminController.updateWhitelistRetailer)163 );164 this.router.delete(165 addUUIDRegexToRoute(166 environment.apiRoutes.admin_settings.deleteWhitelistRetailer167 ),168 AuthController.checkAuthenticationMiddleware,169 AuthController.checkAdminMiddleware,170 async (req, res) =>171 asyncErrorHandler(req, res, AdminController.deleteWhitelistRetailer)172 );173 this.router.post(174 addUUIDRegexToRoute(175 environment.apiRoutes.admin_settings.addDomainToWhitelistRetailer176 ),177 AuthController.checkAuthenticationMiddleware,178 AuthController.checkAdminMiddleware,179 ForbiddenInputMiddleware,180 async (req, res) =>181 asyncErrorHandler(182 req,183 res,184 AdminController.addDomainToWhitelistRetailer185 )186 );187 this.router.patch(188 addUUIDRegexToRoute(189 environment.apiRoutes.admin_settings.updateDomainOfWhitelistRetailer190 ),191 AuthController.checkAuthenticationMiddleware,192 AuthController.checkAdminMiddleware,193 ForbiddenInputMiddleware,194 async (req, res) =>195 asyncErrorHandler(196 req,197 res,198 AdminController.editDomainOfWhitelistRetailer199 )200 );201 this.router.delete(202 addUUIDRegexToRoute(203 environment.apiRoutes.admin_settings.deleteDomainOfWhitelistRetailer204 ),205 AuthController.checkAuthenticationMiddleware,206 AuthController.checkAdminMiddleware,207 async (req, res) =>208 asyncErrorHandler(209 req,210 res,211 AdminController.deleteDomainOfWhitelistRetailer212 )213 );214 this.router.post(215 environment.apiRoutes.admin_settings.checkDomainAgainstWhitelist,216 AuthController.checkAuthenticationMiddleware,217 ForbiddenInputMiddleware,218 async (req, res) =>219 asyncErrorHandler(req, res, AdminController.checkDomainAgainstWhitelist)220 );221 this.router.get(222 environment.apiRoutes.user_management.getAllPendingUsers,223 AuthController.checkAuthenticationMiddleware,224 AuthController.checkAdminMiddleware,225 async (req, res) =>226 asyncErrorHandler(req, res, AdminController.getPendingUsers)227 );228 this.router.get(229 environment.apiRoutes.user_management.getAllAcceptedUsers,230 AuthController.checkAuthenticationMiddleware,231 AuthController.checkAdminMiddleware,232 async (req, res) =>233 asyncErrorHandler(req, res, AdminController.getAcceptedUsers)234 );235 this.router.get(236 addUUIDRegexToRoute(environment.apiRoutes.user_management.getSingleUser),237 AuthController.checkAuthenticationMiddleware,238 AuthController.checkAdminMiddleware,239 async (req, res) => asyncErrorHandler(req, res, AdminController.getUser)240 );241 this.router.patch(242 addUUIDRegexToRoute(environment.apiRoutes.user_management.updateUser),243 AuthController.checkAuthenticationMiddleware,244 AuthController.checkAdminMiddleware,245 ForbiddenInputMiddleware,246 async (req, res) =>247 asyncErrorHandler(req, res, AdminController.updateUser)248 );249 this.router.delete(250 addUUIDRegexToRoute(environment.apiRoutes.user_management.deleteUser),251 AuthController.checkAuthenticationMiddleware,252 AuthController.checkAdminMiddleware,253 async (req, res) =>254 asyncErrorHandler(req, res, AdminController.deleteUser)255 );256 // Room Management257 this.router.get(258 environment.apiRoutes.rooms.getAllRooms,259 AuthController.checkAuthenticationMiddleware,260 async (req, res) =>261 asyncErrorHandler(req, res, RoomController.getAllRooms)262 );263 this.router.get(264 addUUIDRegexToRoute(environment.apiRoutes.rooms.getSingleRoom),265 AuthController.checkAuthenticationMiddleware,266 async (req, res) =>267 asyncErrorHandler(req, res, RoomController.getRoomById)268 );269 this.router.get(270 addUUIDRegexToRoute(environment.apiRoutes.rooms.getRoomCalendar),271 AuthController.checkAuthenticationMiddleware,272 async (req, res) =>273 asyncErrorHandler(req, res, RoomController.getRoomCalendar)274 );275 this.router.post(276 environment.apiRoutes.rooms.createRoom,277 AuthController.checkAuthenticationMiddleware,278 AuthController.checkAdminMiddleware,279 ForbiddenInputMiddleware,280 async (req, res) => asyncErrorHandler(req, res, RoomController.createRoom)281 );282 this.router.patch(283 addUUIDRegexToRoute(environment.apiRoutes.rooms.updateRoom),284 AuthController.checkAuthenticationMiddleware,285 AuthController.checkAdminMiddleware,286 ForbiddenInputMiddleware,287 async (req, res) => asyncErrorHandler(req, res, RoomController.updateRoom)288 );289 this.router.delete(290 addUUIDRegexToRoute(environment.apiRoutes.rooms.deleteRoom),291 AuthController.checkAuthenticationMiddleware,292 AuthController.checkAdminMiddleware,293 async (req, res) => asyncErrorHandler(req, res, RoomController.deleteRoom)294 );295 this.router.get(296 addUUIDRegexToRoute(297 environment.apiRoutes.rooms.getAllAvailableTimeslotsForRoom298 ),299 AuthController.checkAuthenticationMiddleware,300 AuthController.checkAdminMiddleware,301 async (req, res) =>302 asyncErrorHandler(303 req,304 res,305 RoomController.getAllAvailableTimeslotsForRoom306 )307 );308 this.router.get(309 addUUIDRegexToRoute(310 environment.apiRoutes.rooms.getAllUnavailableTimeslotsForRoom311 ),312 AuthController.checkAuthenticationMiddleware,313 AuthController.checkAdminMiddleware,314 async (req, res) =>315 asyncErrorHandler(316 req,317 res,318 RoomController.getAllUnavailableTimeslotsForRoom319 )320 );321 this.router.get(322 addUUIDRegexToRoute(environment.apiRoutes.rooms.getAvailabilityCalendar),323 AuthController.checkAuthenticationMiddleware,324 async (req, res) =>325 asyncErrorHandler(req, res, RoomController.getAvailabilityCalendar)326 );327 this.router.get(328 addUUIDRegexToRoute(environment.apiRoutes.rooms.getTimeslot),329 AuthController.checkAuthenticationMiddleware,330 AuthController.checkAdminMiddleware,331 async (req, res) =>332 asyncErrorHandler(req, res, RoomController.getTimeslotById)333 );334 this.router.post(335 addUUIDRegexToRoute(environment.apiRoutes.rooms.createTimeslot),336 AuthController.checkAuthenticationMiddleware,337 AuthController.checkAdminMiddleware,338 ForbiddenInputMiddleware,339 async (req, res) =>340 asyncErrorHandler(req, res, RoomController.createTimeslot)341 );342 this.router.post(343 addUUIDRegexToRoute(environment.apiRoutes.rooms.createTimeslotSeries),344 AuthController.checkAuthenticationMiddleware,345 AuthController.checkAdminMiddleware,346 ForbiddenInputMiddleware,347 async (req, res) =>348 asyncErrorHandler(req, res, RoomController.createTimeslotSeries)349 );350 this.router.patch(351 addUUIDRegexToRoute(environment.apiRoutes.rooms.updateTimeslot),352 AuthController.checkAuthenticationMiddleware,353 AuthController.checkAdminMiddleware,354 ForbiddenInputMiddleware,355 async (req, res) =>356 asyncErrorHandler(req, res, RoomController.updateTimeslot)357 );358 this.router.patch(359 addUUIDRegexToRoute(environment.apiRoutes.rooms.updateTimeslotSeries),360 AuthController.checkAuthenticationMiddleware,361 AuthController.checkAdminMiddleware,362 ForbiddenInputMiddleware,363 async (req, res) =>364 asyncErrorHandler(req, res, RoomController.updateTimeslotSeries)365 );366 this.router.delete(367 addUUIDRegexToRoute(environment.apiRoutes.rooms.deleteTimeslot),368 AuthController.checkAuthenticationMiddleware,369 AuthController.checkAdminMiddleware,370 async (req, res) =>371 asyncErrorHandler(req, res, RoomController.deleteTimeslot)372 );373 this.router.delete(374 addUUIDRegexToRoute(environment.apiRoutes.rooms.deleteTimeslotSeries),375 AuthController.checkAuthenticationMiddleware,376 AuthController.checkAdminMiddleware,377 async (req, res) =>378 asyncErrorHandler(req, res, RoomController.deleteTimeslotSeries)379 );380 // Appointment Management381 this.router.get(382 environment.apiRoutes.appointments.getAllAppointments,383 AuthController.checkAuthenticationMiddleware,384 AuthController.checkAdminMiddleware,385 async (req, res) =>386 asyncErrorHandler(req, res, AppointmentController.getAllAppointments)387 );388 this.router.get(389 environment.apiRoutes.appointments.getCurrentUserAppointments,390 AuthController.checkAuthenticationMiddleware,391 async (req, res) =>392 asyncErrorHandler(393 req,394 res,395 AppointmentController.getAppointmentsForCurrentUser396 )397 );398 this.router.get(399 addUUIDRegexToRoute(400 environment.apiRoutes.appointments.getSeriesAppointments401 ),402 AuthController.checkAuthenticationMiddleware,403 async (req, res) =>404 asyncErrorHandler(405 req,406 res,407 AppointmentController.getAppointmentsForSeries408 )409 );410 this.router.get(411 addUUIDRegexToRoute(412 environment.apiRoutes.appointments.getSingleAppointment413 ),414 AuthController.checkAuthenticationMiddleware,415 async (req, res) =>416 asyncErrorHandler(req, res, AppointmentController.getAppointment)417 );418 this.router.post(419 environment.apiRoutes.appointments.createAppointment,420 AuthController.checkAuthenticationMiddleware,421 ForbiddenInputMiddleware,422 async (req, res) =>423 asyncErrorHandler(req, res, AppointmentController.createAppointment)424 );425 this.router.post(426 environment.apiRoutes.appointments.createAppointmentSeries,427 AuthController.checkAuthenticationMiddleware,428 ForbiddenInputMiddleware,429 async (req, res) =>430 asyncErrorHandler(431 req,432 res,433 AppointmentController.createAppointmentSeries434 )435 );436 this.router.patch(437 addUUIDRegexToRoute(environment.apiRoutes.appointments.updateAppointment),438 AuthController.checkAuthenticationMiddleware,439 ForbiddenInputMiddleware,440 async (req, res) =>441 asyncErrorHandler(req, res, AppointmentController.updateAppointment)442 );443 this.router.patch(444 addUUIDRegexToRoute(445 environment.apiRoutes.appointments.updateAppointmentSeries446 ),447 AuthController.checkAuthenticationMiddleware,448 ForbiddenInputMiddleware,449 async (req, res) =>450 asyncErrorHandler(451 req,452 res,453 AppointmentController.updateAppointmentSeries454 )455 );456 this.router.delete(457 addUUIDRegexToRoute(environment.apiRoutes.appointments.deleteAppointment),458 AuthController.checkAuthenticationMiddleware,459 async (req, res) =>460 asyncErrorHandler(req, res, AppointmentController.deleteAppointment)461 );462 this.router.delete(463 addUUIDRegexToRoute(464 environment.apiRoutes.appointments.deleteAppointmentSeries465 ),466 AuthController.checkAuthenticationMiddleware,467 async (req, res) =>468 asyncErrorHandler(469 req,470 res,471 AppointmentController.deleteAppointmentSeries472 )473 );474 // Inventory Management475 this.router.get(476 environment.apiRoutes.inventory_item.getAllItems,477 AuthController.checkAuthenticationMiddleware,478 async (req, res) =>479 asyncErrorHandler(req, res, InventoryController.getAllInventoryItems)480 );481 this.router.get(482 addUUIDRegexToRoute(environment.apiRoutes.inventory_item.getSingleItem),483 AuthController.checkAuthenticationMiddleware,484 async (req, res) =>485 asyncErrorHandler(req, res, InventoryController.getInventoryItem)486 );487 this.router.get(488 environment.apiRoutes.inventory_item.getByName,489 AuthController.checkAuthenticationMiddleware,490 async (req, res) =>491 asyncErrorHandler(req, res, InventoryController.getByName)492 );493 this.router.post(494 environment.apiRoutes.inventory_item.createItem,495 AuthController.checkAuthenticationMiddleware,496 AuthController.checkAdminMiddleware,497 ForbiddenInputMiddleware,498 async (req, res) =>499 asyncErrorHandler(req, res, InventoryController.createInventoryItem)500 );501 this.router.patch(502 addUUIDRegexToRoute(environment.apiRoutes.inventory_item.updateItem),503 AuthController.checkAuthenticationMiddleware,504 AuthController.checkAdminMiddleware,505 ForbiddenInputMiddleware,506 async (req, res) =>507 asyncErrorHandler(req, res, InventoryController.updateInventoryItem)508 );509 this.router.delete(510 addUUIDRegexToRoute(environment.apiRoutes.inventory_item.deleteItem),511 AuthController.checkAuthenticationMiddleware,512 AuthController.checkAdminMiddleware,513 async (req, res) =>514 asyncErrorHandler(req, res, InventoryController.deleteInventoryItem)515 );516 // Order Management517 this.router.get(518 environment.apiRoutes.orders.getAllPendingOrders,519 AuthController.checkAuthenticationMiddleware,520 AuthController.checkAdminMiddleware,521 async (req, res) =>522 asyncErrorHandler(req, res, OrderController.getAllPendingOrders)523 );524 this.router.get(525 environment.apiRoutes.orders.getAllAcceptedOrders,526 AuthController.checkAuthenticationMiddleware,527 AuthController.checkAdminMiddleware,528 async (req, res) =>529 asyncErrorHandler(req, res, OrderController.getAllAcceptedOrders)530 );531 this.router.get(532 environment.apiRoutes.orders.getAllDeclinedOrders,533 AuthController.checkAuthenticationMiddleware,534 AuthController.checkAdminMiddleware,535 async (req, res) =>536 asyncErrorHandler(req, res, OrderController.getAllDeclinedOrders)537 );538 this.router.get(539 environment.apiRoutes.orders.getCurrentUsersPendingOrders,540 AuthController.checkAuthenticationMiddleware,541 async (req, res) =>542 asyncErrorHandler(543 req,544 res,545 OrderController.getPendingOrdersForCurrentUser546 )547 );548 this.router.get(549 environment.apiRoutes.orders.getCurrentUsersAcceptedOrders,550 AuthController.checkAuthenticationMiddleware,551 async (req, res) =>552 asyncErrorHandler(553 req,554 res,555 OrderController.getAcceptedOrdersForCurrentUser556 )557 );558 this.router.get(559 environment.apiRoutes.orders.getCurrentUsersDeclinedOrders,560 AuthController.checkAuthenticationMiddleware,561 async (req, res) =>562 asyncErrorHandler(563 req,564 res,565 OrderController.getDeclinedOrdersForCurrentUser566 )567 );568 this.router.get(569 addUUIDRegexToRoute(environment.apiRoutes.orders.getSingleOrder),570 AuthController.checkAuthenticationMiddleware,571 async (req, res) => asyncErrorHandler(req, res, OrderController.getOrder)572 );573 this.router.post(574 environment.apiRoutes.orders.createOrder,575 AuthController.checkAuthenticationMiddleware,576 ForbiddenInputMiddleware,577 async (req, res) =>578 asyncErrorHandler(req, res, OrderController.createOrder)579 );580 this.router.patch(581 addUUIDRegexToRoute(environment.apiRoutes.orders.updateOrder),582 AuthController.checkAuthenticationMiddleware,583 ForbiddenInputMiddleware,584 async (req, res) =>585 asyncErrorHandler(req, res, OrderController.updateOrder)586 );587 this.router.delete(588 addUUIDRegexToRoute(environment.apiRoutes.orders.deleteOrder),589 AuthController.checkAuthenticationMiddleware,590 async (req, res) =>591 asyncErrorHandler(req, res, OrderController.deleteOrder)592 );593 // Livecam594 this.router.get(595 environment.apiRoutes.livecam.getAllRecordings,596 AuthController.checkAuthenticationMiddleware,597 AuthController.checkAdminMiddleware,598 async (req, res) =>599 asyncErrorHandler(req, res, LivecamController.getFinishedRecordings)600 );601 this.router.get(602 environment.apiRoutes.livecam.getAllScheduled,603 AuthController.checkAuthenticationMiddleware,604 AuthController.checkAdminMiddleware,605 async (req, res) =>606 asyncErrorHandler(req, res, LivecamController.getScheduledRecordings)607 );608 this.router.get(609 addUUIDRegexToRoute(environment.apiRoutes.livecam.getSingleRecording),610 AuthController.checkAuthenticationMiddleware,611 AuthController.checkAdminMiddleware,612 async (req, res) =>613 asyncErrorHandler(req, res, LivecamController.getRecordingById)614 );615 this.router.post(616 environment.apiRoutes.livecam.createSchedule,617 AuthController.checkAuthenticationMiddleware,618 AuthController.checkAdminMiddleware,619 ForbiddenInputMiddleware,620 async (req, res) =>621 asyncErrorHandler(req, res, LivecamController.scheduleRecording)622 );623 this.router.patch(624 addUUIDRegexToRoute(environment.apiRoutes.livecam.updateRecording),625 AuthController.checkAuthenticationMiddleware,626 AuthController.checkAdminMiddleware,627 ForbiddenInputMiddleware,628 async (req, res) =>629 asyncErrorHandler(req, res, LivecamController.updateRecording)630 );631 this.router.get(632 addUUIDRegexToRoute(environment.apiRoutes.livecam.downloadRecording),633 AuthController.checkAuthenticationMiddleware,634 AuthController.checkAdminMiddleware,635 async (req, res) =>636 asyncErrorHandler(req, res, LivecamController.streamRecording)637 );638 this.router.delete(639 addUUIDRegexToRoute(environment.apiRoutes.livecam.deleteRecording),640 AuthController.checkAuthenticationMiddleware,641 AuthController.checkAdminMiddleware,642 async (req, res) =>643 asyncErrorHandler(req, res, LivecamController.deleteRecording)644 );645 this.router.ws(646 environment.apiRoutes.livecam.streamFeed,647 AuthController.checkWebSocketAuthenticationMiddleware,648 LivecamController.getLiveCameraFeed649 );650 }651}...
assignUuid.test.js
Source:assignUuid.test.js
1import { NodeSVG } from 'Draw/svg/NodeSVG';2import { v4 as UUID } from 'uuid';3import { assignUuid, uuidRegex } from './assignUuid';4let container = null;5let svg = null;6let elements = null;7beforeEach(() => {8 container = document.createElement('div');9 document.body.appendChild(container);10 svg = NodeSVG();11 svg.addTo(container);12 elements = [13 svg.rect(10, 20),14 svg.text('asdf'),15 svg.line(200, 250, 150, 75),16 svg.circle(100),17 svg.path('M 2 2 Q 3 4 50 60'),18 ];19});20afterEach(() => {21 elements = null;22 svg.clear();23 svg.remove();24 svg = null;25 container.remove();26 container = null;27});28describe('assignUuid function', () => {29 it('assigns UUIDs', () => {30 elements.forEach(ele => {31 assignUuid(ele);32 let id = ele.id();33 expect(id).toMatch(uuidRegex);34 // double-check the length35 expect(id.length).toBe(37);36 // double-check with the attr method for good measure37 expect(ele.attr('id')).toBe(id);38 });39 });40 it('prepends a letter to assigned UUIDs', () => {41 // all element IDs in an XML document must begin42 // with a letter43 let ele = elements[0];44 let prevId = ele.id();45 for (let i = 0; i < 1e3; i++) {46 assignUuid(ele);47 let currId = ele.id();48 // assigned a new UUID49 expect(currId).not.toEqual(prevId);50 // prepended a letter51 expect(currId.charAt(0)).toBe('i');52 prevId = currId;53 }54 });55 it('overwrites preexisting IDs', () => {56 elements.forEach(ele => {57 let prevId = ele.id(); // initialize ID58 expect(prevId).toBeTruthy();59 assignUuid(ele);60 let currId = ele.id();61 expect(currId).toBeTruthy();62 expect(currId).not.toEqual(prevId);63 // double-check with the attr method for good measure64 expect(ele.attr('id')).toBe(currId);65 });66 });67 it('can initialize IDs', () => {68 // note that the id method of SVG elements will initialize69 // the ID of an element when used as a getter on an element70 // with an undefined ID71 elements.forEach(ele => {72 expect(ele.attr('id')).toBe(undefined);73 assignUuid(ele);74 let id = ele.attr('id');75 expect(id).toBeTruthy();76 // double-check with id method for good measure77 expect(ele.id()).toBe(id);78 });79 });80});81describe('uuidRegex', () => {82 it("matches UUIDs and isn't case-sensitive", () => {83 for (let i = 0; i < 100; i++) {84 let id = UUID();85 expect(id).toMatch(uuidRegex);86 expect(id.toLowerCase()).toMatch(uuidRegex);87 expect(id.toUpperCase()).toMatch(uuidRegex);88 }89 });90 it('detects missing numbers', () => {91 expect('60eb4e57-cdd1-4581-aaa5-a8475bd69387').toMatch(uuidRegex);92 expect('60ebe57-cdd1-4581-aaa5-a8475bd69387').not.toMatch(uuidRegex);93 expect('60eb4e57-dd1-4581-aaa5-a8475bd69387').not.toMatch(uuidRegex);94 expect('60eb4e57-cdd1-481-aaa5-a8475bd69387').not.toMatch(uuidRegex);95 expect('60eb4e57-cdd1-4581-aaa-a8475bd69387').not.toMatch(uuidRegex);96 expect('60eb4e57-cdd1-4581-aaa5-a8475d69387').not.toMatch(uuidRegex);97 });98 it('detects extra numbers in middle sections', () => {99 expect('b5b11075-cc12-4309-8932-e06373a36a13').toMatch(uuidRegex);100 expect('b5b11075-cbc12-4309-8932-e06373a36a13').not.toMatch(uuidRegex);101 expect('b5b11075-cc12-43509-8932-e06373a36a13').not.toMatch(uuidRegex);102 expect('b5b11075-cc12-4309-68932-e06373a36a13').not.toMatch(uuidRegex);103 });104 it('detects missing hyphens', () => {105 expect('2ee6f840-52c1-4adf-b830-ebad0ce4b35f').toMatch(uuidRegex);106 expect('2ee6f84052c1-4adf-b830-ebad0ce4b35f').not.toMatch(uuidRegex);107 expect('2ee6f840-52c14adf-b830-ebad0ce4b35f').not.toMatch(uuidRegex);108 expect('2ee6f840-52c1-4adfb830-ebad0ce4b35f').not.toMatch(uuidRegex);109 expect('2ee6f840-52c1-4adf-b830ebad0ce4b35f').not.toMatch(uuidRegex);110 });111 it('does not match falsy IDs', () => {112 // double-check that the UUID regex doesn't match113 // falsy IDs since the UUID regex will often be used114 // to check if an ID was initialized115 [116 undefined,117 '',118 ].forEach(v => {119 // must convert to string to check if matches120 let s = String(v);121 expect(s).not.toMatch(uuidRegex);122 });123 });...
uid.js
Source:uid.js
1/**2 * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.3 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license4 */5import uid from '../src/uid';6describe( 'utils', () => {7 describe( 'uid', () => {8 it( 'should return different ids', () => {9 const id1 = uid();10 const id2 = uid();11 const id3 = uid();12 expect( id1 ).to.be.a( 'string' );13 expect( id2 ).to.be.a( 'string' ).to.not.equal( id1 ).to.not.equal( id3 );14 expect( id3 ).to.be.a( 'string' ).to.not.equal( id1 ).to.not.equal( id2 );15 const uuidRegex = /^e[a-f0-9]{32}$/;16 expect( id1 ).to.match( uuidRegex );17 expect( id2 ).to.match( uuidRegex );18 expect( id3 ).to.match( uuidRegex );19 } );20 } );...
Using AI Code Generation
1const { UuidRegex } = require('fast-check-monorepo')2console.log(UuidRegex)3import { UuidRegex } from 'fast-check-monorepo'4console.log(UuidRegex)5const fastCheckMonorepo = require('fast-check-monorepo')6console.log(fastCheckMonorepo.UuidRegex)7import fastCheckMonorepo from 'fast-check-monorepo'8console.log(fastCheckMonorepo.UuidRegex)9const { UuidRegex } = require('fast-check-monorepo/lib/UuidRegex')10console.log(UuidRegex)11import { UuidRegex } from 'fast-check-monorepo/lib/UuidRegex'12console.log(UuidRegex)13const fastCheckMonorepo = require('fast-check-monorepo/lib/UuidRegex')14console.log(fastCheckMonorepo.UuidRegex)15import fastCheckMonorepo from 'fast-check-monorepo/lib/UuidRegex'16console.log(fastCheckMonorepo.UuidRegex)17const { UuidRegex } = require('fast-check-monorepo/src/UuidRegex')18console.log(UuidRegex)19import { UuidRegex } from 'fast-check-monorepo/src/UuidRegex'20console.log(UuidRegex)21const fastCheckMonorepo = require('fast-check-monorepo/src/UuidRegex')22console.log(fastCheckMon
Using AI Code Generation
1const { UuidRegex } = require('fast-check');2const uuidRegex = UuidRegex();3const uuidRegex2 = UuidRegex();4console.log(uuidRegex, uuidRegex2);5const { UuidRegex } = require('fast-check');6const uuidRegex = UuidRegex();7const uuidRegex2 = UuidRegex();8console.log(uuidRegex, uuidRegex2);9const { UuidRegex } = require('fast-check');10const uuidRegex = UuidRegex();11const uuidRegex2 = UuidRegex();12console.log(uuidRegex, uuidRegex2);13Hello, I am trying to use fast-check in a monorepo. I am using yarn workspaces. I have a package called fast-check-monorepo which contains the fast-check package. I have another package called test-package which has a dependency on fast-check-monorepo. The test-package has a file called test.js which imports the UuidRegex method from fast-check-monorepo. I have a test script in the test-package package.json file which runs the test.js file. When I run the test script, I get the following error:
Using AI Code Generation
1const { UuidRegex } = require("fast-check");2const regex = new RegExp(UuidRegex);3const property = fc.property(fc.uuid(), (uuid) => regex.test(uuid));4fc.assert(property);5const { UuidRegex } = require("fast-check");6const regex = new RegExp(UuidRegex);7const property = fc.property(fc.uuid(), (uuid) => regex.test(uuid));8fc.assert(property);9const { UuidRegex } = require("fast-check");10const regex = new RegExp(UuidRegex);11const property = fc.property(fc.uuid(), (uuid) => regex.test(uuid));12fc.assert(property);
Using AI Code Generation
1const { UuidRegex } = require('fast-check/lib/types/UuidArbitrary');2const { stringMatching } = require('fast-check/lib/check/arbitrary/StringMatchingArbitrary');3const uuidRegex = UuidRegex();4const uuidArb = stringMatching(uuidRegex);5const uuid = uuidArb.generate();6console.log(uuid);7const { UuidRegex } = require('fast-check/lib/types/UuidArbitrary');8const { stringMatching } = require('fast-check/lib/check/arbitrary/StringMatchingArbitrary');9const uuidRegex = UuidRegex();10const uuidArb = stringMatching(uuidRegex);11const uuid = uuidArb.generate();12console.log(uuid);13const { UuidRegex } = require('fast-check-monorepo/lib/types/UuidArbitrary');14const { stringMatching } = require('fast-check-monorepo/lib/check/arbitrary/StringMatchingArbitrary');15const uuidRegex = UuidRegex();16const uuidArb = stringMatching(uuidRegex);17const uuid = uuidArb.generate();18console.log(uuid);19const { UuidRegex } = require('fast-check-monorepo/lib/types/UuidArbitrary');20const { stringMatching } = require('fast-check-monorepo
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!!