From 5dfc75f8ed49d79cae092b667d48233370a3b963 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 May 2023 16:17:28 +0000 Subject: [PATCH 01/41] Bump socket.io-parser from 4.2.2 to 4.2.3 in /backend Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.2 to 4.2.3. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.2...4.2.3) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] --- backend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/package-lock.json b/backend/package-lock.json index eed5fbcdd..f531eeea5 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -7899,9 +7899,9 @@ } }, "node_modules/socket.io-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", - "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz", + "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" From ff3e11c358a1339b12fbd4db19a9065efb0ce852 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 May 2023 16:17:35 +0000 Subject: [PATCH 02/41] Bump socket.io-parser from 4.2.2 to 4.2.3 in /frontend Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.2 to 4.2.3. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.2...4.2.3) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index fb9ffb243..db69db8d8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -19305,9 +19305,9 @@ } }, "node_modules/socket.io-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", - "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz", + "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" From dea090ac2d95f112be88a05f5b82dcf7e64da4e5 Mon Sep 17 00:00:00 2001 From: wyoheiii Date: Sat, 27 May 2023 21:13:40 +0900 Subject: [PATCH 03/41] =?UTF-8?q?=E3=83=86=E3=83=BC=E3=83=96=E3=83=AB?= =?UTF-8?q?=E3=81=AE=E4=B8=BB=E3=82=AD=E3=83=BC=E3=82=92=E5=85=A8=E3=81=A6?= =?UTF-8?q?uuid=E3=81=AB=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=A6interface?= =?UTF-8?q?=E3=81=AE=E5=9E=8B=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/prisma/schema.prisma | 18 +++++++++--------- backend/prisma/seed.ts | 16 ++++++++-------- backend/src/events/events.gateway.ts | 4 ++-- backend/src/post-message/dto/message.dto.ts | 2 +- .../src/post-message/post-message.service.ts | 6 +++++- backend/src/user/user.controller.ts | 2 +- frontend/src/features/chat/api/postMessage.ts | 2 +- frontend/src/features/chat/types/MessageDto.ts | 2 +- frontend/src/features/user/types/UserDto.ts | 2 +- 9 files changed, 29 insertions(+), 25 deletions(-) diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma index c436b958c..0472de052 100644 --- a/backend/prisma/schema.prisma +++ b/backend/prisma/schema.prisma @@ -11,7 +11,7 @@ datasource db { } // userの情報 model User { - id Int @id @default(autoincrement()) + id String @id @default(uuid()) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt username String @unique @@ -23,7 +23,7 @@ model User { } // userが所属しているchatRoomの集合を取得 model ChatRoom { - id Int @id @default(autoincrement()) + id String @id @default(uuid()) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt roomName String @unique @@ -41,8 +41,8 @@ model ChatRoom { model UserChatState { @@id([chatRoomId, userId, userState]) - chatRoomId Int - userId Int + chatRoomId String + userId String userState UserChatStateCode createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@ -59,19 +59,19 @@ model RoomMember { @@id([userId, chatRoomId]) joinedAt DateTime @default(now()) role UserRole @default(USER) - userId Int - chatRoomId Int + userId String + chatRoomId String user User @relation(fields: [userId],references: [id]) chatRoom ChatRoom @relation(fields: [chatRoomId],references: [id], onDelete: Cascade) } // chatRoomIdからそのchatRoomのmsg集合を取得したりする model Message { - id Int @id @default(autoincrement()) + id String @id @default(uuid()) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt content String - userId Int - chatRoomId Int + userId String + chatRoomId String user User @relation(fields: [userId],references: [id]) chatRoom ChatRoom @relation(fields: [chatRoomId],references: [id], onDelete: Cascade) } diff --git a/backend/prisma/seed.ts b/backend/prisma/seed.ts index 1b6d7b39f..3f253b8b5 100644 --- a/backend/prisma/seed.ts +++ b/backend/prisma/seed.ts @@ -37,28 +37,28 @@ async function main() { const roomMember1 = await prisma.roomMember.upsert({ where: { userId_chatRoomId: { - userId: 1, - chatRoomId: 1, + userId: user1.id, + chatRoomId: room.id, }, }, update: {}, create: { - userId: 1, - chatRoomId: 1, + userId: user1.id, + chatRoomId: room.id, role: UserRole.OWNER, }, }); const roomMember2 = await prisma.roomMember.upsert({ where: { userId_chatRoomId: { - userId: 2, - chatRoomId: 1, + userId: user2.id, + chatRoomId: room.id, }, }, update: {}, create: { - userId: 2, - chatRoomId: 1, + userId: user2.id, + chatRoomId: room.id, }, }); console.log(user1, user2); diff --git a/backend/src/events/events.gateway.ts b/backend/src/events/events.gateway.ts index 38d9f2eec..4d16f813c 100644 --- a/backend/src/events/events.gateway.ts +++ b/backend/src/events/events.gateway.ts @@ -36,12 +36,12 @@ export class EventsGateway { } @SubscribeMessage('getPastMessages') - async handleGetPastMessages(client: Socket, authorId: number) { + async handleGetPastMessages(client: Socket, authorId: string) { console.log('getPastMessages'); // Userテーブルのidでそのuserのmsgデータを全て取得 const pastMessages = await this.prisma.message.findMany({ where: { - userId: 1, + userId: authorId, }, }); console.log('mid', authorId); diff --git a/backend/src/post-message/dto/message.dto.ts b/backend/src/post-message/dto/message.dto.ts index 8481d7767..b235e1f37 100644 --- a/backend/src/post-message/dto/message.dto.ts +++ b/backend/src/post-message/dto/message.dto.ts @@ -5,5 +5,5 @@ export class MessageDto { @ApiProperty({ example: 'test Message', description: 'test' }) content: string; @ApiProperty({ example: 1, description: 'test' }) - authorId: number; + authorId: string; } diff --git a/backend/src/post-message/post-message.service.ts b/backend/src/post-message/post-message.service.ts index 07f4bb8e2..642add362 100644 --- a/backend/src/post-message/post-message.service.ts +++ b/backend/src/post-message/post-message.service.ts @@ -10,11 +10,15 @@ export class PostMessageService { constructor(private prisma: PrismaService) {} async postMessage(dto: MessageDto): Promise { + // TODO 消す。roomIdをベタ打ちしてたけど、idがランダムになるから,部屋名で検索してidを取得する + const room = await this.prisma.chatRoom.findUnique({ + where: { roomName: 'hogeRoom' }, + }); const msg = await this.prisma.message.create({ data: { userId: dto.authorId, content: dto.content, - chatRoomId: 1, + chatRoomId: room?.id || '', }, }); return msg; diff --git a/backend/src/user/user.controller.ts b/backend/src/user/user.controller.ts index 4cde194fc..356811ccc 100644 --- a/backend/src/user/user.controller.ts +++ b/backend/src/user/user.controller.ts @@ -5,7 +5,7 @@ import { loginDto, signUpDto } from './dto/user.dto'; import { UserService } from './user.service'; // TODO front直したら消す type User = { - id: number; + id: string; createdAt: Date; updatedAt: Date; email: string; diff --git a/frontend/src/features/chat/api/postMessage.ts b/frontend/src/features/chat/api/postMessage.ts index ea00f9bc5..178a463f9 100644 --- a/frontend/src/features/chat/api/postMessage.ts +++ b/frontend/src/features/chat/api/postMessage.ts @@ -2,7 +2,7 @@ import axios from 'axios'; import { MessageDto } from '../types/MessageDto'; -export const postMessage = (authorId: number, msg: string) => { +export const postMessage = (authorId: string, msg: string) => { const url = 'http://localhost:8000/post-message'; const msgDto: MessageDto = { content: msg, authorId: authorId }; diff --git a/frontend/src/features/chat/types/MessageDto.ts b/frontend/src/features/chat/types/MessageDto.ts index 90a2e244c..fa25525f7 100644 --- a/frontend/src/features/chat/types/MessageDto.ts +++ b/frontend/src/features/chat/types/MessageDto.ts @@ -2,7 +2,7 @@ export type MessageDto = { content: string; - authorId: number; + authorId: string; }; export type handleMessageDto = { diff --git a/frontend/src/features/user/types/UserDto.ts b/frontend/src/features/user/types/UserDto.ts index 74c8aaa35..b8f5aa8b8 100644 --- a/frontend/src/features/user/types/UserDto.ts +++ b/frontend/src/features/user/types/UserDto.ts @@ -10,6 +10,6 @@ export type LoginDto = { }; export type UserInfo = { - id: number; + id: string; nickname: string; }; From ba1288f18fea14cf1d6e121adb6b509ccc7536e0 Mon Sep 17 00:00:00 2001 From: wyoheiii Date: Sat, 27 May 2023 21:34:17 +0900 Subject: [PATCH 04/41] =?UTF-8?q?uuid=E3=81=B8=E3=81=AE=E5=9E=8B=E5=A4=89?= =?UTF-8?q?=E6=8F=9B=E3=81=AB=E4=BC=B4=E3=81=84swagger=E3=81=AE=E3=82=B5?= =?UTF-8?q?=E3=83=B3=E3=83=97=E3=83=AB=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/post-message/dto/message.dto.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/post-message/dto/message.dto.ts b/backend/src/post-message/dto/message.dto.ts index b235e1f37..996a96a07 100644 --- a/backend/src/post-message/dto/message.dto.ts +++ b/backend/src/post-message/dto/message.dto.ts @@ -4,6 +4,6 @@ import { ApiProperty } from '@nestjs/swagger'; export class MessageDto { @ApiProperty({ example: 'test Message', description: 'test' }) content: string; - @ApiProperty({ example: 1, description: 'test' }) + @ApiProperty({ example: 'id', description: 'test' }) authorId: string; } From d50ac155f1ffc4f2ccaf632bcb2fe7a20b6ec209 Mon Sep 17 00:00:00 2001 From: wyoheiii Date: Sat, 27 May 2023 21:35:00 +0900 Subject: [PATCH 05/41] =?UTF-8?q?uuid=E3=81=B8=E3=81=AE=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E3=81=AB=E4=BC=B4=E3=81=84=E3=83=86=E3=82=B9=E3=83=88=E3=82=92?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/post-message/post-message.service.spec.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/backend/src/post-message/post-message.service.spec.ts b/backend/src/post-message/post-message.service.spec.ts index ca4dfa3ba..8d8e150e8 100644 --- a/backend/src/post-message/post-message.service.spec.ts +++ b/backend/src/post-message/post-message.service.spec.ts @@ -5,18 +5,18 @@ import { PrismaService } from '../prisma/prisma.service'; import { PostMessageService } from './post-message.service'; type Message = { - id: number; + id: string; createdAt: Date; updatedAt: Date; content: string; - authorId: number; + authorId: string; }; const mockMsg: Message = { - id: 12, + id: '1', createdAt: new Date(), updatedAt: new Date(), content: 'nori', - authorId: 1, + authorId: '2', }; const mockPrismaService = { @@ -24,6 +24,9 @@ const mockPrismaService = { // PrismaService.createをmockMsgを返すだけの関数にした create: jest.fn().mockReturnValue(mockMsg), }, + chatRoom: { + findUnique: jest.fn().mockReturnValue({ id: '1' }), + } }; describe('PostMessageService', () => { From a70b87f8f7d51598b67ad4fe2dfec07f2afc66a0 Mon Sep 17 00:00:00 2001 From: wyoheiii Date: Sat, 27 May 2023 21:36:14 +0900 Subject: [PATCH 06/41] =?UTF-8?q?fmt=20+=20=E6=89=8B=E5=8B=95fmt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/prisma/schema.prisma | 14 +++++++++----- .../src/post-message/post-message.service.spec.ts | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma index 0472de052..8060d9055 100644 --- a/backend/prisma/schema.prisma +++ b/backend/prisma/schema.prisma @@ -9,6 +9,7 @@ datasource db { provider = "postgresql" url = env("DATABASE_URL") } + // userの情報 model User { id String @id @default(uuid()) @@ -21,6 +22,7 @@ model User { roomMembers RoomMember[] userChatState UserChatState[] } + // userが所属しているchatRoomの集合を取得 model ChatRoom { id String @id @default(uuid()) @@ -34,15 +36,15 @@ model ChatRoom { roomMembers RoomMember[] userChatState UserChatState[] } + // チャットルームの管理者からbanされた時にこのテーブルに追加、時間が経ったら削除 // ルームに入る際やチャットを送信するときに // このテーブルを都度チェックしてbanされてなかったらchatroomに入れる的な使い方 // endedAtに終了時間を渡す感じで使う予定 - model UserChatState { @@id([chatRoomId, userId, userState]) - chatRoomId String - userId String + chatRoomId String + userId String userState UserChatStateCode createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@ -50,6 +52,7 @@ model UserChatState { user User @relation(fields: [userId],references: [id]) chatRoom ChatRoom @relation(fields: [chatRoomId],references: [id], onDelete: Cascade) } + // chatRoomに参加するときはこのテーブルに追加する // 抜けたときは削除する // UserMutedInChatRoom,UserBannedInChatRoomの情報をこのテーブルに持たせれば良くねって思ってるそこのあなた @@ -59,11 +62,12 @@ model RoomMember { @@id([userId, chatRoomId]) joinedAt DateTime @default(now()) role UserRole @default(USER) - userId String - chatRoomId String + userId String + chatRoomId String user User @relation(fields: [userId],references: [id]) chatRoom ChatRoom @relation(fields: [chatRoomId],references: [id], onDelete: Cascade) } + // chatRoomIdからそのchatRoomのmsg集合を取得したりする model Message { id String @id @default(uuid()) diff --git a/backend/src/post-message/post-message.service.spec.ts b/backend/src/post-message/post-message.service.spec.ts index 8d8e150e8..8dd3f35c3 100644 --- a/backend/src/post-message/post-message.service.spec.ts +++ b/backend/src/post-message/post-message.service.spec.ts @@ -26,7 +26,7 @@ const mockPrismaService = { }, chatRoom: { findUnique: jest.fn().mockReturnValue({ id: '1' }), - } + }, }; describe('PostMessageService', () => { From 3728f2a90d999e752e27818885f4a8ef474c96eb Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sat, 27 May 2023 23:09:23 +0900 Subject: [PATCH 07/41] =?UTF-8?q?backend=20=E3=81=AE=20url=20=E3=82=92?= =?UTF-8?q?=E7=B0=A1=E5=8D=98=E3=81=AB=E5=A4=89=E6=9B=B4=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/constants.ts | 1 + frontend/src/features/chat/api/postMessage.ts | 4 +++- frontend/src/features/user/api/userLogin.ts | 4 +++- frontend/src/features/user/api/userSignUp.ts | 4 +++- frontend/src/socket.ts | 4 +++- 5 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 frontend/src/constants.ts diff --git a/frontend/src/constants.ts b/frontend/src/constants.ts new file mode 100644 index 000000000..351625e6e --- /dev/null +++ b/frontend/src/constants.ts @@ -0,0 +1 @@ +export const BACKEND = 'http://localhost:8000'; diff --git a/frontend/src/features/chat/api/postMessage.ts b/frontend/src/features/chat/api/postMessage.ts index ea00f9bc5..0290f633e 100644 --- a/frontend/src/features/chat/api/postMessage.ts +++ b/frontend/src/features/chat/api/postMessage.ts @@ -2,8 +2,10 @@ import axios from 'axios'; import { MessageDto } from '../types/MessageDto'; +import { BACKEND } from '../../../constants'; + export const postMessage = (authorId: number, msg: string) => { - const url = 'http://localhost:8000/post-message'; + const url = BACKEND + '/post-message'; const msgDto: MessageDto = { content: msg, authorId: authorId }; diff --git a/frontend/src/features/user/api/userLogin.ts b/frontend/src/features/user/api/userLogin.ts index 34ee8445b..b41deb917 100644 --- a/frontend/src/features/user/api/userLogin.ts +++ b/frontend/src/features/user/api/userLogin.ts @@ -2,13 +2,15 @@ import axios, { AxiosResponse } from 'axios'; import { LoginDto, UserInfo } from '../types/UserDto'; +import { BACKEND } from '../../../constants'; + export const userLogin = async ( email: string, passwd: string, setUserInfo: React.Dispatch>, ) => { console.log('post'); - const url = 'http://localhost:8000/user/login'; + const url = BACKEND + '/user/login'; const loginDto: LoginDto = { email: email, hashedPassword: passwd }; // postでブロックしても問題ないならasync awaitでもいいかも diff --git a/frontend/src/features/user/api/userSignUp.ts b/frontend/src/features/user/api/userSignUp.ts index 6ba403992..559f538d0 100644 --- a/frontend/src/features/user/api/userSignUp.ts +++ b/frontend/src/features/user/api/userSignUp.ts @@ -2,6 +2,8 @@ import axios, { AxiosResponse } from 'axios'; import { SignUpDto, UserInfo } from '../types/UserDto'; +import { BACKEND } from '../../../constants'; + export const userSignUp = async ( nickname: string, email: string, @@ -9,7 +11,7 @@ export const userSignUp = async ( setUserInfo: (v: UserInfo) => void, ) => { console.log('post /user/signup'); - const url = 'http://localhost:8000/user/signup'; + const url = BACKEND + '/user/signup'; // TODO validation フロントとバックどっちの責任? const signUpDto: SignUpDto = { diff --git a/frontend/src/socket.ts b/frontend/src/socket.ts index d459b31aa..7753b4e1d 100644 --- a/frontend/src/socket.ts +++ b/frontend/src/socket.ts @@ -1,3 +1,5 @@ import { io } from 'socket.io-client'; -export const socket = io('http://localhost:8000'); +import { BACKEND } from './constants'; + +export const socket = io(BACKEND); From 386be53fbdf73f4fa6344e2bb6133bf8caf575ed Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sat, 27 May 2023 23:13:11 +0900 Subject: [PATCH 08/41] =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=86=E3=83=8A?= =?UTF-8?q?=E5=86=85=E3=81=A7storybook=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=82=92=E5=8B=95=E3=81=8B=E3=81=97=E3=81=9F=E9=9A=9B=E3=80=81?= =?UTF-8?q?backend=E3=82=B3=E3=83=B3=E3=83=86=E3=83=8A=E3=81=ABapi?= =?UTF-8?q?=E6=8A=95=E3=81=92=E3=82=8B=E3=81=9F=E3=82=81=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/constants.ts b/frontend/src/constants.ts index 351625e6e..25fd7f859 100644 --- a/frontend/src/constants.ts +++ b/frontend/src/constants.ts @@ -1 +1 @@ -export const BACKEND = 'http://localhost:8000'; +export const BACKEND = process.env.STORYBOOK_BACKEND || 'http://localhost:8000'; From 5ddb1baad8912a883bd0261e091f6b8106edea29 Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sat, 27 May 2023 23:51:33 +0900 Subject: [PATCH 09/41] =?UTF-8?q?frontend=E3=82=B3=E3=83=B3=E3=83=86?= =?UTF-8?q?=E3=83=8A=E3=82=92=E6=96=B0=E3=81=9F=E3=81=AB=E7=AB=8B=E3=81=A6?= =?UTF-8?q?=E3=81=A6=E3=83=86=E3=82=B9=E3=83=88=E5=AE=9F=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 4 ++-- frontend/Makefile | 4 ++-- frontend/package.json | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index be2f44272..9ae40b12d 100644 --- a/Makefile +++ b/Makefile @@ -46,11 +46,11 @@ lint-fix: PHONY += sb-test sb-test: - docker exec -t frontend make sb-test + docker compose run --rm frontend make sb-test PHONY += sb-update sb-update: - docker exec -t frontend make sb-update + docker compose run --rm frontend make sb-update # etc... # ------------------------------------------------------------------------------------------ diff --git a/frontend/Makefile b/frontend/Makefile index 837cc3326..cc5f6de58 100644 --- a/frontend/Makefile +++ b/frontend/Makefile @@ -43,12 +43,12 @@ sb-create-file: PHONY += sb-test sb-test: - npm run storybook-test + npm run storybook-test-ci PHONY += sb-update sb-update: rm -rf $(shell find src/ -type d -name '__image_snapshots__') - npm run storybook-update-snapshot + npm run storybook-update-snapshot-ci # etc... # ------------------------------------------------------------------------------------------ diff --git a/frontend/package.json b/frontend/package.json index 35eb521f6..632f8fc62 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -16,6 +16,7 @@ "storybook-test": "test-storybook", "storybook-test-ci": "concurrently --kill-others --success first \"npm run storybook\" \"wait-on tcp:6006 && npm run storybook-test\"", "storybook-update-snapshot": "test-storybook --updateSnapshot", + "storybook-update-snapshot-ci": "concurrently --kill-others --success first \"npm run storybook\" \"wait-on tcp:6006 && npm run storybook-update-snapshot\"", "build-storybook": "storybook build", "concurrent": "concurrently \"npm run dev\" \"npm run storybook\"" }, From e3754c760eb49985968c4a87fab1a84b94035027 Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sat, 27 May 2023 23:52:10 +0900 Subject: [PATCH 10/41] =?UTF-8?q?STORYBOOK=5FBACKEND=20=E7=92=B0=E5=A2=83?= =?UTF-8?q?=E5=A4=89=E6=95=B0=E3=81=AE=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/Makefile b/frontend/Makefile index cc5f6de58..57c6b3a51 100644 --- a/frontend/Makefile +++ b/frontend/Makefile @@ -43,12 +43,12 @@ sb-create-file: PHONY += sb-test sb-test: - npm run storybook-test-ci + export STORYBOOK_BACKEND="http://backend:8000" && npm run storybook-test-ci PHONY += sb-update sb-update: rm -rf $(shell find src/ -type d -name '__image_snapshots__') - npm run storybook-update-snapshot-ci + export STORYBOOK_BACKEND="http://backend:8000" && npm run storybook-update-snapshot-ci # etc... # ------------------------------------------------------------------------------------------ From 54d81af94efcab48737774fe92f5413d03c4ec73 Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sat, 27 May 2023 23:52:19 +0900 Subject: [PATCH 11/41] =?UTF-8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=BE=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/constants.ts b/frontend/src/constants.ts index 25fd7f859..612815214 100644 --- a/frontend/src/constants.ts +++ b/frontend/src/constants.ts @@ -1 +1,2 @@ +// TODO : STORYBOOK のテストのためだけにあるの微妙な気がするから、もうちょいいい方法とか考えるます export const BACKEND = process.env.STORYBOOK_BACKEND || 'http://localhost:8000'; From 74050ac5801adcd09806a0d6e033d539f0148321 Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sat, 27 May 2023 23:55:05 +0900 Subject: [PATCH 12/41] install storybook jest --- frontend/doc/storybook.md | 1 + frontend/package-lock.json | 229 +++++++++++++++++++ frontend/package.json | 1 + frontend/scripts/install_dev_dependencies.sh | 1 + 4 files changed, 232 insertions(+) diff --git a/frontend/doc/storybook.md b/frontend/doc/storybook.md index a7c07168b..114636c4b 100644 --- a/frontend/doc/storybook.md +++ b/frontend/doc/storybook.md @@ -17,6 +17,7 @@ pr : [88 storybook を 使って UI テスト](https://github.com/s-xix98/trc-pr ```shell npm install --save-dev @storybook/test-runner +npm install --save-dev @storybook/jest npm install --save-dev jest-image-snapshot ``` diff --git a/frontend/package-lock.json b/frontend/package-lock.json index db69db8d8..337324cb0 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -31,6 +31,7 @@ "@storybook/addon-interactions": "^7.0.9", "@storybook/addon-links": "^7.0.9", "@storybook/blocks": "^7.0.9", + "@storybook/jest": "^0.1.0", "@storybook/nextjs": "^7.0.9", "@storybook/react": "^7.0.9", "@storybook/test-runner": "^0.10.0", @@ -49,6 +50,12 @@ "wait-on": "^7.0.1" } }, + "node_modules/@adobe/css-tools": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz", + "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==", + "dev": true + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -5742,6 +5749,15 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/expect": { + "version": "27.5.2-0", + "resolved": "https://registry.npmjs.org/@storybook/expect/-/expect-27.5.2-0.tgz", + "integrity": "sha512-cP99mhWN/JeCp7VSIiymvj5tmuMY050iFohvp8Zq+kewKsBSZ6/qpTJAGCCZk6pneTcp4S0Fm5BSqyxzbyJ3gw==", + "dev": true, + "dependencies": { + "@types/jest": ">=26.0.0" + } + }, "node_modules/@storybook/global": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", @@ -5765,6 +5781,18 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/jest": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@storybook/jest/-/jest-0.1.0.tgz", + "integrity": "sha512-TmybnEXlv5Fu2/Hq4nRj7alS9mw4CasLR0RDwaAzS+Vpvu1TC4+j9rh+b1BHtmWebbJh0JMT6mgzPqOyJdgtQA==", + "dev": true, + "dependencies": { + "@storybook/expect": "storybook-jest", + "@storybook/instrumenter": "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0", + "@testing-library/jest-dom": "^5.16.2", + "jest-mock": "^27.3.0" + } + }, "node_modules/@storybook/manager": { "version": "7.0.9", "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.0.9.tgz", @@ -6389,6 +6417,41 @@ "node": ">=12" } }, + "node_modules/@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@testing-library/user-event": { "version": "13.5.0", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", @@ -6600,6 +6663,144 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/jest": { + "version": "29.5.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz", + "integrity": "sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/@jest/expect-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", + "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-diff": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", + "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-matcher-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", + "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-message-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", + "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", + "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -6797,6 +6998,15 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.6", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.6.tgz", + "integrity": "sha512-FkHXCb+ikSoUP4Y4rOslzTdX5sqYwMxfefKh1GmZ8ce1GOkEHntSp6b5cGadmNfp5e4BMEWOMx+WSKd5/MqlDA==", + "dev": true, + "dependencies": { + "@types/jest": "*" + } + }, "node_modules/@types/unist": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", @@ -9265,6 +9475,12 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -18495,6 +18711,19 @@ "node": ">= 0.10" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", diff --git a/frontend/package.json b/frontend/package.json index 632f8fc62..4e6e366e5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -44,6 +44,7 @@ "@storybook/addon-interactions": "^7.0.9", "@storybook/addon-links": "^7.0.9", "@storybook/blocks": "^7.0.9", + "@storybook/jest": "^0.1.0", "@storybook/nextjs": "^7.0.9", "@storybook/react": "^7.0.9", "@storybook/test-runner": "^0.10.0", diff --git a/frontend/scripts/install_dev_dependencies.sh b/frontend/scripts/install_dev_dependencies.sh index 0d383eed7..2073d4c9c 100644 --- a/frontend/scripts/install_dev_dependencies.sh +++ b/frontend/scripts/install_dev_dependencies.sh @@ -6,6 +6,7 @@ npm install --save-dev concurrently # storybook # npx storybook@latest init npm install --save-dev @storybook/test-runner +npm install --save-dev @storybook/jest npm install --save-dev jest-image-snapshot # wait-on From 5e30205cf745ead04590f1bd8fc90a5a0d0c59a7 Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sat, 27 May 2023 23:58:31 +0900 Subject: [PATCH 13/41] =?UTF-8?q?login=20as=20fuga=20=E3=83=9C=E3=82=BF?= =?UTF-8?q?=E3=83=B3=E3=82=92=E6=8A=BC=E3=81=99=20=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=BE=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__image_snapshots__/app-page--login.png | Bin 0 -> 70648 bytes frontend/src/app/page.stories.tsx | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 frontend/src/app/__image_snapshots__/app-page--login.png diff --git a/frontend/src/app/__image_snapshots__/app-page--login.png b/frontend/src/app/__image_snapshots__/app-page--login.png new file mode 100644 index 0000000000000000000000000000000000000000..b9535c3c9f02602872ab29d42ecfddeaeaf09ebe GIT binary patch literal 70648 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 e|Km4Hy$Z7Rrf0iBC=EJcgj}N#1?EeA(;G(Di literal 0 HcmV?d00001 diff --git a/frontend/src/app/page.stories.tsx b/frontend/src/app/page.stories.tsx index 59869c1f7..f5c8041b6 100644 --- a/frontend/src/app/page.stories.tsx +++ b/frontend/src/app/page.stories.tsx @@ -1,7 +1,11 @@ import type { Meta, StoryObj } from '@storybook/react'; +import { userEvent, within } from '@storybook/testing-library'; +import { expect } from '@storybook/jest'; import Home from './page'; +const sleep = (ms: number) => new Promise((res) => setTimeout(res, ms)); + const meta = { component: Home, tags: ['autodocs'], @@ -12,3 +16,16 @@ export default meta; type Story = StoryObj; export const Basic: Story = {}; + +export const Login: Story = { + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + const loginBtn = canvas.getByText('login as fuga'); + + await userEvent.click(loginBtn); + + await sleep(3000); + + expect(canvas.getByText('ChatChannelArea')); + }, +}; From 524ade3d98c6e55fcdec1d1b56ba5b612ce81715 Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sun, 28 May 2023 00:12:53 +0900 Subject: [PATCH 14/41] =?UTF-8?q?storybook-test=20=E3=81=A7=20=E3=83=90?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=82=A8=E3=83=B3=E3=83=89=E3=81=8C=E7=B5=A1?= =?UTF-8?q?=E3=82=93=E3=81=A0=E3=83=86=E3=82=B9=E3=83=88=E3=82=82=E5=AE=9F?= =?UTF-8?q?=E8=A1=8C=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/storybook-test.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/storybook-test.yml b/.github/workflows/storybook-test.yml index f6fab372a..6a67a3aa3 100644 --- a/.github/workflows/storybook-test.yml +++ b/.github/workflows/storybook-test.yml @@ -20,10 +20,23 @@ on: pull_request: workflow_dispatch: +env: + DATABASE_URL: postgresql://test:test@localhost:5432/test?schema=public + jobs: storybook-test: timeout-minutes: 5 runs-on: ubuntu-latest + services: + postgres: + image: postgres:latest + env: + POSTGRES_USER: test + POSTGRES_PASSWORD: test + POSTGRES_DB: test + ports: + - 5432:5432 + steps: - name: checkout git repository uses: actions/checkout@v3 @@ -42,6 +55,20 @@ jobs: path: ~/.cache/ms-playwright key: cache-playwright-${{ hashFiles('frontend/package-lock.json') }} + - name: cache backend node-modules + id: cache-backend-node-modules + uses: actions/cache@v3 + with: + path: backend/node_modules + key: cache-backend-node-modules-${{ hashFiles('backend/package-lock.json') }} + + - name: backend npm install + run: cd backend && npm install + - name: set up prisma + run: cd backend && npx prisma db push --preview-feature && npx prisma generate && npx prisma db seed + - name: run backend + run: cd backend && npm run start:dev & + - name: frontend npm install run: cd frontend && npm install - if: ${{ steps.cache-playwright.outputs.cache-hit != 'true' }} From 7b98440655b30afa2679f67d1108760e2d4ef4fd Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sun, 28 May 2023 01:00:33 +0900 Subject: [PATCH 15/41] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=B1?= =?UTF-8?q?=E3=83=BC=E3=82=B9=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/app/page.stories.tsx | 65 +++++++++++++++++++ .../src/components/Elements/Input/Input.tsx | 1 + 2 files changed, 66 insertions(+) diff --git a/frontend/src/app/page.stories.tsx b/frontend/src/app/page.stories.tsx index f5c8041b6..1f6d1e942 100644 --- a/frontend/src/app/page.stories.tsx +++ b/frontend/src/app/page.stories.tsx @@ -29,3 +29,68 @@ export const Login: Story = { expect(canvas.getByText('ChatChannelArea')); }, }; + +export const SelectChannel: Story = { + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + + const loginBtn = canvas.getByText('login as fuga'); + await userEvent.click(loginBtn); + await sleep(3000); + + const hoge0 = canvas.getByText('hoge 0'); + await userEvent.click(hoge0); + }, +}; + +export const SendMsg: Story = { + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + + const loginBtn = canvas.getByText('login as fuga'); + await userEvent.click(loginBtn); + await sleep(3000); + + const hoge0 = canvas.getByText('hoge 0'); + await userEvent.click(hoge0); + + const inputElem = + canvas.getByTestId('input-test-id')?.firstElementChild?.firstElementChild; + if (inputElem === undefined || inputElem === null) { + expect(false); + return; + } + await userEvent.type(inputElem, 'This is test msg'); + await userEvent.click(canvas.getByText('Send')); + // SEND ボタンに アニメーションがあり、スクショのタイミングによって + // スクショに若干の差異が生まれ テストが落ちてしまうので 適当に Footer を クリック + await userEvent.click(canvas.getByText('Footer')); + }, +}; + +export const SendSomeMsg: Story = { + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + + const loginBtn = canvas.getByText('login as fuga'); + await userEvent.click(loginBtn); + await sleep(3000); + + const hoge0 = canvas.getByText('hoge 0'); + await userEvent.click(hoge0); + + const inputElem = + canvas.getByTestId('input-test-id')?.firstElementChild?.firstElementChild; + if (inputElem === undefined || inputElem === null) { + expect(false); + return; + } + for (let i = 0; i < 30; i++) { + await userEvent.type(inputElem, `This is test msg ${i}`); + await userEvent.click(canvas.getByText('Send')); + } + // SEND ボタンに アニメーションがあり、スクショのタイミングによって + // スクショに若干の差異が生まれ テストが落ちてしまうので 適当に Footer を クリック + await userEvent.click(canvas.getByText('Footer')); + }, +}; diff --git a/frontend/src/components/Elements/Input/Input.tsx b/frontend/src/components/Elements/Input/Input.tsx index c4ded68a8..9ebbe2459 100644 --- a/frontend/src/components/Elements/Input/Input.tsx +++ b/frontend/src/components/Elements/Input/Input.tsx @@ -12,6 +12,7 @@ export const Input = ({ <> Date: Sun, 28 May 2023 01:01:02 +0900 Subject: [PATCH 16/41] fmt --- frontend/src/app/page.stories.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend/src/app/page.stories.tsx b/frontend/src/app/page.stories.tsx index 1f6d1e942..4911c21fc 100644 --- a/frontend/src/app/page.stories.tsx +++ b/frontend/src/app/page.stories.tsx @@ -20,12 +20,10 @@ export const Basic: Story = {}; export const Login: Story = { play: async ({ canvasElement }) => { const canvas = within(canvasElement); - const loginBtn = canvas.getByText('login as fuga'); + const loginBtn = canvas.getByText('login as fuga'); await userEvent.click(loginBtn); - await sleep(3000); - expect(canvas.getByText('ChatChannelArea')); }, }; From 28550c19ce0feddf43d8c2d3b68d83c078feffec Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sun, 28 May 2023 01:03:03 +0900 Subject: [PATCH 17/41] =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E5=BE=8C=E3=81=AE=E7=94=BB=E9=9D=A2=E3=81=AB=E6=8E=A8=E7=A7=BB?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=81=BE=E3=81=A7=E3=81=AE=E6=99=82=E9=96=93?= =?UTF-8?q?=E3=82=92=E7=9F=AD=E7=B8=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/app/page.stories.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/page.stories.tsx b/frontend/src/app/page.stories.tsx index 4911c21fc..58e451220 100644 --- a/frontend/src/app/page.stories.tsx +++ b/frontend/src/app/page.stories.tsx @@ -23,7 +23,7 @@ export const Login: Story = { const loginBtn = canvas.getByText('login as fuga'); await userEvent.click(loginBtn); - await sleep(3000); + await sleep(1000); expect(canvas.getByText('ChatChannelArea')); }, }; @@ -34,7 +34,7 @@ export const SelectChannel: Story = { const loginBtn = canvas.getByText('login as fuga'); await userEvent.click(loginBtn); - await sleep(3000); + await sleep(1000); const hoge0 = canvas.getByText('hoge 0'); await userEvent.click(hoge0); @@ -47,7 +47,7 @@ export const SendMsg: Story = { const loginBtn = canvas.getByText('login as fuga'); await userEvent.click(loginBtn); - await sleep(3000); + await sleep(1000); const hoge0 = canvas.getByText('hoge 0'); await userEvent.click(hoge0); @@ -72,7 +72,7 @@ export const SendSomeMsg: Story = { const loginBtn = canvas.getByText('login as fuga'); await userEvent.click(loginBtn); - await sleep(3000); + await sleep(1000); const hoge0 = canvas.getByText('hoge 0'); await userEvent.click(hoge0); From 8b1a644994fb8be47e553e1710fba67de674fb8e Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sun, 28 May 2023 03:55:27 +0900 Subject: [PATCH 18/41] =?UTF-8?q?=E4=B8=80=E6=97=A6=E3=83=AD=E3=82=B0?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=81=99=E3=82=8B=E3=81=A8=E3=80=81=E3=82=B9?= =?UTF-8?q?=E3=83=86=E3=83=BC=E3=83=88=E4=BF=9D=E6=8C=81=E3=81=97=E3=81=A6?= =?UTF-8?q?=E3=82=8B=E3=81=BF=E3=81=9F=E3=81=84=E3=81=AA=E3=81=AE=E3=81=A7?= =?UTF-8?q?=E3=80=81=E4=BD=95=E5=9B=9E=E3=82=82=E3=83=AD=E3=82=B0=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=83=9C=E3=82=BF=E3=83=B3=E6=8A=BC=E3=81=95=E3=81=AA?= =?UTF-8?q?=E3=81=84=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/app/page.stories.tsx | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/frontend/src/app/page.stories.tsx b/frontend/src/app/page.stories.tsx index 58e451220..cd2f11a08 100644 --- a/frontend/src/app/page.stories.tsx +++ b/frontend/src/app/page.stories.tsx @@ -32,10 +32,6 @@ export const SelectChannel: Story = { play: async ({ canvasElement }) => { const canvas = within(canvasElement); - const loginBtn = canvas.getByText('login as fuga'); - await userEvent.click(loginBtn); - await sleep(1000); - const hoge0 = canvas.getByText('hoge 0'); await userEvent.click(hoge0); }, @@ -45,10 +41,6 @@ export const SendMsg: Story = { play: async ({ canvasElement }) => { const canvas = within(canvasElement); - const loginBtn = canvas.getByText('login as fuga'); - await userEvent.click(loginBtn); - await sleep(1000); - const hoge0 = canvas.getByText('hoge 0'); await userEvent.click(hoge0); @@ -70,10 +62,6 @@ export const SendSomeMsg: Story = { play: async ({ canvasElement }) => { const canvas = within(canvasElement); - const loginBtn = canvas.getByText('login as fuga'); - await userEvent.click(loginBtn); - await sleep(1000); - const hoge0 = canvas.getByText('hoge 0'); await userEvent.click(hoge0); From f73cff8ca0952df368175e991eb6a40a5d43180b Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sun, 28 May 2023 04:24:31 +0900 Subject: [PATCH 19/41] =?UTF-8?q?=E5=87=A6=E7=90=86=E3=81=8C=E7=B5=82?= =?UTF-8?q?=E3=82=8F=E3=81=A3=E3=81=A6=E3=81=AA=E3=81=8F=E3=81=A6=E3=80=81?= =?UTF-8?q?=E3=82=B9=E3=82=AF=E3=82=B7=E3=83=A7=E3=81=AEdiff=20=E3=81=8C?= =?UTF-8?q?=E5=87=BA=E3=82=8B=E3=81=93=E3=81=A8=E3=81=8C=E3=81=82=E3=82=8B?= =?UTF-8?q?=E3=81=AE=E3=81=A7=20sleep?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/app/page.stories.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frontend/src/app/page.stories.tsx b/frontend/src/app/page.stories.tsx index cd2f11a08..58dec85ee 100644 --- a/frontend/src/app/page.stories.tsx +++ b/frontend/src/app/page.stories.tsx @@ -34,6 +34,8 @@ export const SelectChannel: Story = { const hoge0 = canvas.getByText('hoge 0'); await userEvent.click(hoge0); + + await sleep(1000); }, }; @@ -52,9 +54,12 @@ export const SendMsg: Story = { } await userEvent.type(inputElem, 'This is test msg'); await userEvent.click(canvas.getByText('Send')); + // SEND ボタンに アニメーションがあり、スクショのタイミングによって // スクショに若干の差異が生まれ テストが落ちてしまうので 適当に Footer を クリック await userEvent.click(canvas.getByText('Footer')); + + await sleep(1000); }, }; @@ -75,8 +80,11 @@ export const SendSomeMsg: Story = { await userEvent.type(inputElem, `This is test msg ${i}`); await userEvent.click(canvas.getByText('Send')); } + // SEND ボタンに アニメーションがあり、スクショのタイミングによって // スクショに若干の差異が生まれ テストが落ちてしまうので 適当に Footer を クリック await userEvent.click(canvas.getByText('Footer')); + + await sleep(1000); }, }; From 2bb0cef6add5f33b895977521596596021cef70e Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sun, 28 May 2023 04:27:42 +0900 Subject: [PATCH 20/41] =?UTF-8?q?=E5=90=8C=E6=99=82=E3=81=AB=E5=AE=9F?= =?UTF-8?q?=E8=A1=8C=E3=81=95=E3=82=8C=E3=82=8B=E3=81=A8=E3=80=81=E3=83=90?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=82=A8=E3=83=B3=E3=83=89=E3=81=AE=E3=83=AC?= =?UTF-8?q?=E3=82=B9=E3=83=9D=E3=83=B3=E3=82=B9=E3=81=A7=E4=BB=96=E3=81=AE?= =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=8D=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=81=AB=E3=82=82=E5=BD=B1=E9=9F=BF=E3=81=8C=E5=87=BA=E3=82=8B?= =?UTF-8?q?=E3=81=93=E3=81=A8=E3=81=8C=E3=81=82=E3=82=8B=E3=81=AE=E3=81=A7?= =?UTF-8?q?=E3=80=81=20maxWorkers=E3=82=921=E3=81=AB=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/package.json b/frontend/package.json index 4e6e366e5..e0a60b5a7 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,7 +13,7 @@ "lint-fix": "eslint --fix src", "noEmit": "tsc --noEmit", "storybook": "storybook dev -p 6006 --quiet", - "storybook-test": "test-storybook", + "storybook-test": "test-storybook --maxWorkers=1", "storybook-test-ci": "concurrently --kill-others --success first \"npm run storybook\" \"wait-on tcp:6006 && npm run storybook-test\"", "storybook-update-snapshot": "test-storybook --updateSnapshot", "storybook-update-snapshot-ci": "concurrently --kill-others --success first \"npm run storybook\" \"wait-on tcp:6006 && npm run storybook-update-snapshot\"", From 4345e909e918207a48e5ebc0cf7ec8544c41ed1f Mon Sep 17 00:00:00 2001 From: s-xix98 <77755127+s-xix98@users.noreply.github.com> Date: Sun, 28 May 2023 04:30:13 +0900 Subject: [PATCH 21/41] update-snapshot --- .../app-page--select-channel.png | Bin 0 -> 71218 bytes .../__image_snapshots__/app-page--send-msg.png | Bin 0 -> 74074 bytes .../app-page--send-some-msg.png | Bin 0 -> 151746 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 frontend/src/app/__image_snapshots__/app-page--select-channel.png create mode 100644 frontend/src/app/__image_snapshots__/app-page--send-msg.png create mode 100644 frontend/src/app/__image_snapshots__/app-page--send-some-msg.png diff --git a/frontend/src/app/__image_snapshots__/app-page--select-channel.png b/frontend/src/app/__image_snapshots__/app-page--select-channel.png new file mode 100644 index 0000000000000000000000000000000000000000..49bf35f46c5da089b47e38e3356a45c4fe73ee4b GIT binary patch literal 71218 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 literal 0 HcmV?d00001 diff --git a/frontend/src/app/__image_snapshots__/app-page--send-some-msg.png b/frontend/src/app/__image_snapshots__/app-page--send-some-msg.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d340a7558e35d0554dd0b057fab3baf76aecf7 GIT binary patch literal 151746 zcmc$`byQVt*EhOoqy?ly48)=(1(X(*7L*PN>F$)477>&NDM_V4T0%g&q(eHTn{V#h z=YGa}#yMx4@2~SQ?o{{QYh7zzbN=euLGrRvgm^S~2!aqkk``A)5G?pl^ln^i_*a+v zxC;CW%~nxL6v^+TTSAb_$RqKG%1-gCE&cBWO zz)kw*&oO_C{yNvb@P36~JlEuX2~tYROstFl{t!y{x{f1P{{5-6r9w#m`+GVBNKoK^ zez4iGy~O|h!Jxu;@b61f(L&HJ|ND|2q#23$_a(-NJ|g|^OSru_kZb?GhNkZS_{SVp zThu++?U7;(D&@7D2ul(WEkUrYaP~)pLrQ@Qa3a-kkHW)I668$S5p(c z5}BNlfz8j)FD)zEe7L>fsvHv(bRji0m4uue)5ypu_QMA>#KhDzGA=Io)2C~nGBQMS z1{~B?ot*em)6%AAX3)jN#NI_mGu^v)35S?LTuDi(pg<`_{_?F`c*4TM@+{=+JUo*6 z`d8c9+pYi1NW=@+;|&Z9Xb%2qz-Oy#Y!n-wsIa|3L@$7eY;JDWy}PM2H9L!8Yilc= zp7+c0*|SSpZhxAz%3}V#T@S|f6{Nep9lt$>Eugx(y3@$P!J)9INDMCMD=gRHLQ+~r zMn+%d$?55z?__dyV`CZ%T(q>b!^6Xu`S_?*3$&VUB)Ro2rCuWq!h|=GdinBG*4VFK z)SaE3fgvH^0~kGU^HlJI#CzB7wawYw->kz33<~P`H90m$H$Oiw>QrXCARB+*`D