Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RecipeList의 비즈니스 로직의 테스트를 작성했습니다. #23

Merged
merged 5 commits into from
Aug 19, 2024

Conversation

GeonH0
Copy link
Collaborator

@GeonH0 GeonH0 commented Aug 19, 2024

FetchFeedListUseCaseTests를 생성하였습니다

  • FeedListRepository의 목객체를 생성해서 Usecase를 테스트 했습니다.
  • 비 동기 처리를 위해 expectation을 활용하여 1초의 딜레이를 주었습니다.
  • 총 3가지 테스트를 진행했습니다.
  1. execute를 호출하면 FeedListRepository의 fetchRecipes을 호출합니다
  2. FeedListRepository의 성공응답이오면 Recipe배열을 반환합니다
  3. FeedListRepository의 실패응답이오면 Error를 반환합니다

SearchFeedListUseCaseTests를 생성하였습니다

  • SearchFeedListRepositoryMock의 목객체를 생성해서 테스트를 진행했습니다.
  • 총 3가지 테스트를 진행했습니다.
  1. execute를 호출하면 SearchRecipeRepository의 searchRecipes을 호출합니다
    2.SearchRecipeRepository의 성공응답이오면 Recipe배열을 반환합니다
  2. SearchRecipeRepository의 실패응답이오면 Error를 반환합니다

RecipeListInteractorTests를 생성하였습니다

  • FetchFeedListUseCase,SearchFeedListUseCase,RecipeListInteractorDelegate 3개의 목객체를 생성해서 테스트를 진행했습니다.
  • 총 7가지 테스트를 진행했습니다.
  1. 화면이 로드될때 fetchedRecipes를 호출합니다
  2. FetchFeedListUseCase의 성공응답이오면 Delegate로 성공을 전달합니다
  3. FetchFeedListUseCase의 실패응답이오면_Delegate로 실패를 전달합니다
  4. searchRecipes 호출시 검색된 결과가 로드됩니다
  5. fetchNextPage 호출시 다음 페이지 레시피가 로드됩니다
  6. didSelectItem 호출시 레시피 상세화면으로 이동합니다
  7. resetSearch 호출후 다시 searchRecipes 호출시 검색이 정상적으로 동작합니다
  • Recipe에 dummy 데이터를 추가하는 메서드를 수정하였습니다..

Copy link

@GeonH0 GeonH0 merged commit cf85446 into main Aug 19, 2024
2 checks passed
@GeonH0 GeonH0 deleted the feature/RecipeListTest branch September 12, 2024 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant