Skip to content

Commit

Permalink
update usecases to caching with redis
Browse files Browse the repository at this point in the history
  • Loading branch information
huytran17 committed Sep 7, 2024
1 parent 347a68b commit 8b25cfc
Show file tree
Hide file tree
Showing 61 changed files with 1,007 additions and 160 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import moment from "moment";
import { fakeAdmin } from "../../../../../__tests__/__mock__";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import IAdmin from "../../../../database/interfaces/admin";
import makeCreateAdmin from "../../../../use-cases/admin/create-admin";
Expand Down Expand Up @@ -34,6 +36,9 @@ describe("getAdmins", () => {
const createAdmin = makeCreateAdmin({ adminDb });
const getAdmins = makeGetAdmins({
adminDb,
randomCacheTime,
redis,
logger,
});

const mock_admin_data = fakeAdmin();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import moment from "moment";
import { fakeCategory } from "../../../../../__tests__/__mock__";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import ICategory from "../../../../database/interfaces/category";
import makeCreateCategory from "../../../../use-cases/category/create-category";
Expand All @@ -32,7 +34,12 @@ describe("getCategories", () => {
});

const createCategory = makeCreateCategory({ categoryDb });
const getCategories = makeGetCategories({ categoryDb });
const getCategories = makeGetCategories({
categoryDb,
randomCacheTime,
redis,
logger,
});

const mock_category_data = fakeCategory();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import makeCreateCategory from "../../../../use-cases/category/create-category";
import makeGetCategoryAnalystics from "../../../../use-cases/category/get-category-analystics";
Expand Down Expand Up @@ -35,6 +36,7 @@ describe("getCategoryAnalystics", () => {
const createCategory = makeCreateCategory({ categoryDb });
const getCategoryAnalystics = makeGetCategoryAnalystics({
categoryDb,
randomCacheTime,
logger,
redis,
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { fakeComment } from "../../../../../__tests__/__mock__";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import IComment from "../../../../database/interfaces/comment";
import makeCreateComment from "../../../../use-cases/comment/create-comment";
Expand All @@ -30,7 +32,12 @@ describe("getComments", () => {
});

const createComment = makeCreateComment({ commentDb });
const getComments = makeGetComments({ commentDb });
const getComments = makeGetComments({
commentDb,
randomCacheTime,
redis,
logger,
});

const mock_comment_data = fakeComment();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { fakeGallery } from "../../../../../__tests__/__mock__";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import IGallery from "../../../../database/interfaces/gallery";
import makeCreateGallery from "../../../../use-cases/gallery/create-gallery";
Expand Down Expand Up @@ -34,6 +36,9 @@ describe("getGalleriesByParent", () => {
const getGallery = makeGetGallery({ galleryDb });
const getGalleriesByParent = makeGetGalleriesByParent({
galleryDb,
randomCacheTime,
redis,
logger,
});

const mock_gallery_data = fakeGallery();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ import {
fakeQueryParams,
} from "../../../../../__tests__/__mock__";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import IGallery from "../../../../database/interfaces/gallery";
import makeCreateGallery from "../../../../use-cases/gallery/create-gallery";
Expand Down Expand Up @@ -35,6 +37,9 @@ describe("getGalleriesPaginated", () => {
const createGallery = makeCreateGallery({ galleryDb });
const getGalleriesPaginated = makeGetGalleriesPaginated({
galleryDb,
randomCacheTime,
redis,
logger,
});

const mock_gallery_data = fakeGallery();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
renderEmailContent,
sendEmail,
} from "../../../../config/emailManager";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import IPost from "../../../../database/interfaces/post";
import makeCreateAdmin from "../../../../use-cases/admin/create-admin";
Expand Down Expand Up @@ -56,6 +57,9 @@ describe("createPost", () => {
const getPost = makeGetPost({ postDb });
const getActivatingSubscriptions = makeGetActivatingSubscriptions({
subscriptionDb,
randomCacheTime,
redis,
logger,
});

const mock_post_data = fakePost();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import { IMostPopularPostsAnalytics } from "../../../../data-access/interfaces/post-db";
import makeCreatePost from "../../../../use-cases/post/create-post";
Expand Down Expand Up @@ -35,6 +36,7 @@ describe("getMostPopularPostsAnalystics", () => {
const createPost = makeCreatePost({ postDb });
const getMostPopularPostsAnalystics = makeGetMostPopularPostsAnalystics({
postDb,
randomCacheTime,
logger,
redis,
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import { IPostAnalytics } from "../../../../data-access/interfaces/post-db";
import makeCreatePost from "../../../../use-cases/post/create-post";
Expand All @@ -33,7 +34,12 @@ describe("getPostAnalystics", () => {
});

const createPost = makeCreatePost({ postDb });
const getPostAnalystics = makeGetPostAnalystics({ postDb, logger, redis });
const getPostAnalystics = makeGetPostAnalystics({
postDb,
randomCacheTime,
logger,
redis,
});

const mock_post_data = fakePost();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import moment from "moment";
import { fakePost } from "../../../../../__tests__/__mock__";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import IPost from "../../../../database/interfaces/post";
import makeCreatePost from "../../../../use-cases/post/create-post";
Expand All @@ -32,7 +34,7 @@ describe("getPosts", () => {
});

const createPost = makeCreatePost({ postDb });
const getPosts = makeGetPosts({ postDb });
const getPosts = makeGetPosts({ postDb, randomCacheTime, redis, logger });

const mock_post_data = fakePost();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import makeCreateSubscription from "../../../../use-cases/subscription/create-subscription";
import makeGetSubscriptionAnalystics from "../../../../use-cases/subscription/get-subscription-analystics";
Expand Down Expand Up @@ -37,8 +38,9 @@ describe("getSubscriptionAnalystics", () => {
});
const getSubscriptionAnalystics = makeGetSubscriptionAnalystics({
subscriptionDb,
logger,
randomCacheTime,
redis,
logger,
});

const mock_subscription_data = fakeSubscription();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import moment from "moment";
import { fakeSubscription } from "../../../../../__tests__/__mock__";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import ISubscription from "../../../../database/interfaces/subscription";
import makeCreateSubscription from "../../../../use-cases/subscription/create-subscription";
Expand Down Expand Up @@ -34,7 +36,12 @@ describe("getSubscriptions", () => {
const createSubscription = makeCreateSubscription({
subscriptionDb,
});
const getSubscriptions = makeGetSubscriptions({ subscriptionDb });
const getSubscriptions = makeGetSubscriptions({
subscriptionDb,
randomCacheTime,
redis,
logger,
});

const mock_subscription_data = fakeSubscription();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import makeCreateUser from "../../../../use-cases/user/create-user";
import makeGetUserAnalystics from "../../../../use-cases/user/get-user-analystics";
Expand All @@ -33,7 +34,12 @@ describe("getUserAnalystics", () => {
});

const createUser = makeCreateUser({ userDb });
const getUserAnalystics = makeGetUserAnalystics({ userDb, logger, redis });
const getUserAnalystics = makeGetUserAnalystics({
userDb,
randomCacheTime,
logger,
redis,
});

const mock_user_data = fakeUser();
await createUser(mock_user_data);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import moment from "moment";
import { ExpectMultipleResults } from "../../../../../__tests__/__types__/expect-types";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import IUser from "../../../../database/interfaces/user";
import makeGetUsers from "../../../../use-cases/user/get-users";
Expand All @@ -29,7 +31,7 @@ describe("getUsers", () => {
moment,
});

const getUsers = makeGetUsers({ userDb });
const getUsers = makeGetUsers({ userDb, randomCacheTime, redis, logger });

const getUsersController = makeGetUsersController({
getUsers,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import moment from "moment";
import { fakeCategory } from "../../../../../__tests__/__mock__";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import makeCreateCategory from "../../../../use-cases/category/create-category";
import makeGetCategoryTitles from "../../../../use-cases/category/get-category-titles";
Expand All @@ -29,7 +31,13 @@ describe("getCategoryTitles", () => {
moment,
});

const getCategoryTitles = makeGetCategoryTitles({ categoryDb });
const getCategoryTitles = makeGetCategoryTitles({
categoryDb,
randomCacheTime,
redis,
logger,
});

const createCategory = makeCreateCategory({ categoryDb });

const mock_category_data = fakeCategory();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ import {
fakePost,
fakeQueryParams,
} from "../../../../../__tests__/__mock__";
import { logger } from "../../../../../__tests__/jest-logger";
import {
clearDatabase,
connectDatabase,
} from "../../../../../__tests__/jest-mongo";
import { redis } from "../../../../../__tests__/jest-redis";
import { randomCacheTime } from "../../../../config/random-cache-time";
import { HttpStatusCode } from "../../../../constants/http-status-code";
import makeCreateCategory from "../../../../use-cases/category/create-category";
import makeGetCategoriesPaginated from "../../../../use-cases/category/get-categories-paginated";
Expand Down Expand Up @@ -42,8 +44,18 @@ describe("getOutstandingCategoriesPaginated", () => {

const createCategory = makeCreateCategory({ categoryDb });
const createPost = makeCreatePost({ postDb });
const countPostByCategory = makeCountPostByCategory({ postDb });
const getCategoriesPaginated = makeGetCategoriesPaginated({ categoryDb });
const countPostByCategory = makeCountPostByCategory({
postDb,
randomCacheTime,
redis,
logger,
});
const getCategoriesPaginated = makeGetCategoriesPaginated({
categoryDb,
randomCacheTime,
redis,
logger,
});

const mock_category_data = fakeCategory();
const mock_post_data = fakePost();
Expand Down
Loading

0 comments on commit 8b25cfc

Please sign in to comment.