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

Release/0.6.0 #152

Merged
merged 5 commits into from
Dec 5, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
fix: 테스트 코드 수정
k2645 committed Dec 5, 2024
commit 0188cd935b0ed78c2d58bef8d0fd815853db2378
Original file line number Diff line number Diff line change
@@ -12,23 +12,23 @@ struct CoreDataBookCoverStorageTests {
id: UUID(),
order: 1,
title: "test1",
imageURL: nil,
imageData: nil,
color: "pink",
category: nil,
favorite: true),
BookCoverDTO(
id: UUID(),
order: 2,
title: "test2",
imageURL: nil,
imageData: nil,
color: "blue",
category: nil,
favorite: false),
BookCoverDTO(
id: UUID(),
order: 3,
title: "test3",
imageURL: nil,
imageData: nil,
color: "beige",
category: nil,
favorite: true)
@@ -46,7 +46,7 @@ struct CoreDataBookCoverStorageTests {
id: UUID(),
order: 4,
title: "test4",
imageURL: nil,
imageData: nil,
color: "green",
category: nil,
favorite: true)
@@ -89,7 +89,7 @@ struct CoreDataBookCoverStorageTests {
id: oldBookCover.id,
order: 4,
title: "test4",
imageURL: nil,
imageData: nil,
color: "green",
category: nil,
favorite: true)
Original file line number Diff line number Diff line change
@@ -8,21 +8,24 @@ struct HomeViewModelTest {
private var sut: HomeViewModel!
private var cancellables = Set<AnyCancellable>()
private static let bookCovers = [
BookCover(id: UUID(), order: 0, title: "title1", imageURL: nil, color: .blue, category: nil, favorite: false),
BookCover(id: UUID(), order: 1, title: "title2", imageURL: nil, color: .blue, category: nil, favorite: false),
BookCover(id: UUID(), order: 2, title: "title3", imageURL: nil, color: .blue, category: nil, favorite: false)
BookCover(id: UUID(), order: 0, title: "title1", imageData: nil, color: .blue, category: nil, favorite: false),
BookCover(id: UUID(), order: 1, title: "title2", imageData: nil, color: .blue, category: nil, favorite: false),
BookCover(id: UUID(), order: 2, title: "title3", imageData: nil, color: .blue, category: nil, favorite: false)
]

@MainActor
@Test mutating func test홈화면을_시작할때_MemorialHouse_이름과_책커버들을_가져온다() async throws {
// Arrange
let stubFetchMemorialHouseNameUseCase = StubFetchMemorialHouseNameUseCase(dummyMemorialHouseName: "효준")
let stubFetchAllBookCoverUseCase = StubFetchAllBookCoverUseCase()
let stubUpdateBookCoverUseCase = StubUpdateBookCoverUseCase()
let stubDeleteBookCoverUseCase = StubDeleteBookCoverUseCase()
let stubBookCovers = try await stubFetchAllBookCoverUseCase.execute()
sut = HomeViewModel(
fetchMemorialHouseUseCase: stubFetchMemorialHouseNameUseCase,
fetchAllBookCoverUseCase: stubFetchAllBookCoverUseCase,
updateBookCoverUseCase: StubUpdateBookCoverUseCase()
updateBookCoverUseCase: stubUpdateBookCoverUseCase,
deleteBookCoverUseCase: stubDeleteBookCoverUseCase
)

let input = PassthroughSubject<HomeViewModel.Input, Never>()
@@ -36,13 +39,13 @@ struct HomeViewModelTest {

// Act
receivedOutput.removeAll()
input.send(.viewDidLoad)
input.send(.loadAllBookCovers)
try await Task.sleep(nanoseconds: 500_000_000)

// Assert
#expect(receivedOutput.count == 2)
#expect(receivedOutput.contains(.fetchedMemorialHouseName))
#expect(receivedOutput.contains(.fetchedAllBookCover))
#expect(receivedOutput.contains(.reloadData))
#expect(sut.houseName == "효준")
#expect(sut.bookCovers == stubBookCovers)
}
@@ -53,7 +56,8 @@ struct HomeViewModelTest {
sut = HomeViewModel(
fetchMemorialHouseUseCase: StubFetchMemorialHouseNameUseCase(dummyMemorialHouseName: "효준"),
fetchAllBookCoverUseCase: StubFetchAllBookCoverUseCase(),
updateBookCoverUseCase: StubUpdateBookCoverUseCase()
updateBookCoverUseCase: StubUpdateBookCoverUseCase(),
deleteBookCoverUseCase: StubDeleteBookCoverUseCase()
)
let input = PassthroughSubject<HomeViewModel.Input, Never>()
var receivedOutput: [HomeViewModel.Output] = []
@@ -64,7 +68,7 @@ struct HomeViewModelTest {
.store(in: &cancellables)

// Act
input.send(.viewDidLoad)
input.send(.loadAllBookCovers)
try await Task.sleep(nanoseconds: 500_000_000)
receivedOutput.removeAll()

@@ -73,7 +77,7 @@ struct HomeViewModelTest {

// Assert
#expect(receivedOutput.count == 1)
#expect(receivedOutput.contains(.filteredBooks))
#expect(receivedOutput.contains(.reloadData))
#expect(sut.currentBookCovers.count == 1)
#expect(sut.currentBookCovers.first?.title == "title1")
}
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ struct StubFetchAllBookCoverUseCase: FetchAllBookCoverUseCase {
id: UUID(uuidString: "11111111-1111-1111-1111-111111111111")!,
order: 0,
title: "title1",
imageURL: nil,
imageData: nil,
color: .blue,
category: "친구",
favorite: false
@@ -17,7 +17,7 @@ struct StubFetchAllBookCoverUseCase: FetchAllBookCoverUseCase {
id: UUID(uuidString: "22222222-2222-2222-2222-222222222222")!,
order: 1,
title: "title2",
imageURL: nil,
imageData: nil,
color: .blue,
category: "가족",
favorite: false
@@ -26,7 +26,7 @@ struct StubFetchAllBookCoverUseCase: FetchAllBookCoverUseCase {
id: UUID(uuidString: "33333333-3333-3333-3333-333333333333")!,
order: 2,
title: "title3",
imageURL: nil,
imageData: nil,
color: .green,
category: "전체",
favorite: false
@@ -38,3 +38,7 @@ struct StubFetchAllBookCoverUseCase: FetchAllBookCoverUseCase {
struct StubUpdateBookCoverUseCase: UpdateBookCoverUseCase {
func execute(id: UUID, with bookCover: BookCover) async throws { }
}

struct StubDeleteBookCoverUseCase: DeleteBookCoverUseCase {
func execute(id: UUID) async throws { }
}
Loading