
User ํ
์ด๋ธ์์ user_id๋ฅผ ์ฌ์ฉํด department_id ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋๋ฅผ ์์ฑํ ๊ฒ์ด๋ค. Repository์ ๋ฉ์๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ ํ
์คํธ ์ฝ๋๋ถํฐ ์์ฑํด๋ณด๋ ค๊ณ ํ๋ค.
@BeforeEach
void setUp() {
UserEntity userEntity = new UserEntity("test1234", 1, 1);
userRepositoryV2.save(userEntity);
}
ํ
์คํธ ๋ฉ์๋ ์์ฑ ์ ์ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ setUp ๋ฉ์๋๋ฅผ ์์ฑํ๋ค. @BeforeEach ์ด๋
ธํ
์ด์
์ ๋ฌ์์ฃผ๋ฉด ๊ฐ ํ
์คํธ ์ฝ๋๊ฐ ์คํ๋๊ธฐ ์ setUp ๋ฉ์๋๊ฐ ๋จผ์ ์คํ๋ ๊ฒ์ด๋ค.

userRepositoryV2 ์ findDepartmentIdById ๋ผ๋ ๋ฉ์๋๋ ์์ง ์ ์ํ์ง ์์ ์ํ์ด๋ค.
์ฐ์ ์คํจํ๋ ํ
์คํธ๋ฅผ ๋จผ์ ์์ฑํด๋ณด๋ ๊ฒ์ด๋คโ
์ด ํ
์คํธ ์ฝ๋๊ฐ ์คํ๋๊ธฐ ์ ์์ setUp ๋ฉ์๋๊ฐ ๋จผ์ ์คํ๋ ๊ฒ์ด๊ณ , user ๊ฐ์ฒด๊ฐ ํ๋ ์์ฑ๋๋ค.
given ๋จ๊ณ์์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์๋ค.
test1234 ์ ํด๋นํ๋ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ฏ๋ก departmentId ๊ฐ์ด 1์ด ๋์ฌ๊ฒ์ผ๋ก ์์ํ๋ค.
์ด์ Repository ์ฝ๋๋ฅผ ์์ฑํด๋ณด์.

์์ ์ฌ์ง๊ณผ ๊ฐ์ด ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํ์๋ค.
Optional ํ์
์ ํด๋น ๊ฐ์ ์ฐพ์ง ๋ชปํ์์ ๋ orElse()๋ฅผ ์ฌ์ฉํ์ฌ ๋์ฒด ๊ฐ์ ๋ฐํํ ์ ์๋ค.
์ด์ ๋ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์คํ์์ผ๋ณด์.
ํ
์คํธ ์ฝ๋๊ฐ ์๋ง์ ๊ฐ์ ์ฐพ์ ์ฑ๊ณตํ ๊ฒ์ ๋ณผ ์ ์๋ค.
์กด์ฌํ์ง ์๋ ์ฌ์ฉ์ ํค๋ ์์๋ก ์ฃผ์ด ์ฌ์ฉ์๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ์ ๋ํด์๋ ํ
์คํธ๋ฅผ ์งํํ๋ค.

ํด๋น ํค์ ์ผ์นํ๋ ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ orElse(-1) ๋ฌธ์ ์ฌ์ฉํด์ result๊ฐ์ -1์ด ๋์ฒด๊ฐ์ผ๋ก ๋ค์ด๊ฐ๊ฒ์ ๋ณผ ์ ์๋ค.