← Back to team overview

sts-sponsors team mailing list archive

[Merge] ~petermakowski/maas-site-manager:set-mock-api-delay-in-dev into maas-site-manager:main

 

Peter Makowski has proposed merging ~petermakowski/maas-site-manager:set-mock-api-delay-in-dev into maas-site-manager:main.

Commit message:
set mock API delay in development

Requested reviews:
  MAAS Committers (maas-committers)

For more details, see:
https://code.launchpad.net/~petermakowski/maas-site-manager/+git/site-manager/+merge/440390
-- 
Your team MAAS Committers is requested to review the proposed merge of ~petermakowski/maas-site-manager:set-mock-api-delay-in-dev into maas-site-manager:main.
diff --git a/frontend/src/mocks/resolvers.ts b/frontend/src/mocks/resolvers.ts
index f35c0ad..dd1b7a6 100644
--- a/frontend/src/mocks/resolvers.ts
+++ b/frontend/src/mocks/resolvers.ts
@@ -5,9 +5,11 @@ import { siteFactory, tokenFactory, enrollmentRequestFactory } from "./factories
 
 import type { GetSitesQueryParams, PostTokensData } from "@/api/handlers";
 import urls from "@/api/urls";
+import { isDev } from "@/constants";
 
+export const mockResponseDelay = isDev ? 1000 : 0;
 export const sitesList = siteFactory.buildList(155);
-export const tokensList = tokenFactory.buildList(100);
+export const tokensList = tokenFactory.buildList(150);
 export const enrollmentRequestsList = [
   enrollmentRequestFactory.build({ created: undefined }),
   ...enrollmentRequestFactory.buildList(100),
@@ -27,7 +29,7 @@ export const createMockSitesResolver =
       total: sites.length,
     };
 
-    return res(ctx.json(response));
+    return res(ctx.delay(mockResponseDelay), ctx.json(response));
   };
 
 type TokensResponseResolver = ResponseResolver<RestRequest<PostTokensData>, typeof restContext>;
@@ -37,13 +39,13 @@ export const createMockTokensResolver = (): TokensResponseResolver => async (req
   if (amount && expires) {
     items = Array(amount).fill(tokenFactory.build({ expires }));
   } else {
-    return res(ctx.status(400));
+    return res(ctx.delay(mockResponseDelay), ctx.status(400));
   }
   const response = {
     items,
   };
 
-  return res(ctx.json(response));
+  return res(ctx.delay(mockResponseDelay), ctx.json(response));
 };
 
 export const createMockGetTokensResolver =
@@ -60,7 +62,7 @@ export const createMockGetTokensResolver =
       total: tokens.length,
     };
 
-    return res(ctx.json(response));
+    return res(ctx.delay(mockResponseDelay), ctx.json(response));
   };
 
 export const createMockGetEnrollmentRequestsResolver =
@@ -77,7 +79,7 @@ export const createMockGetEnrollmentRequestsResolver =
       total: enrollmentRequests.length,
     };
 
-    return res(ctx.json(response));
+    return res(ctx.delay(mockResponseDelay), ctx.json(response));
   };
 
 type PostEnrollmentRequestsResponseResolver = ResponseResolver<RestRequest<PostTokensData>, typeof restContext>;
@@ -85,9 +87,9 @@ export const createMockPostEnrollmentRequestsResolver =
   (): PostEnrollmentRequestsResponseResolver => async (req, res, ctx) => {
     const { ids, accept } = await req.json();
     if (ids && typeof accept === "boolean") {
-      return res(ctx.status(204));
+      return res(ctx.delay(mockResponseDelay), ctx.status(204));
     } else {
-      return res(ctx.status(400));
+      return res(ctx.delay(mockResponseDelay), ctx.status(400));
     }
   };
 

Follow ups