Skip to content

Commit

Permalink
[Test] #179 DTO 나머지 부분들 테스트, 오타 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
Neph3779 committed Feb 23, 2023
1 parent f1c9226 commit d9db4c8
Show file tree
Hide file tree
Showing 7 changed files with 211 additions and 5 deletions.
24 changes: 24 additions & 0 deletions RefillStation/RefillStation.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@
32B7922D2993340C001145B0 /* ImageUploadTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B7922C2993340C001145B0 /* ImageUploadTask.swift */; };
32B792332993A54D001145B0 /* CustomerSatisfactionDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B792322993A54D001145B0 /* CustomerSatisfactionDTO.swift */; };
32BA4B4029A723DD00A155C5 /* LoginDTOTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BA4B3F29A723DD00A155C5 /* LoginDTOTests.swift */; };
32BA4B4329A7249D00A155C5 /* StoreRecommendDTOTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BA4B4229A7249D00A155C5 /* StoreRecommendDTOTests.swift */; };
32BA4B4529A725D100A155C5 /* FetchStoreRecommendDTOTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BA4B4429A725D100A155C5 /* FetchStoreRecommendDTOTests.swift */; };
32BA4B4729A7263C00A155C5 /* ReviewDTOTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BA4B4629A7263C00A155C5 /* ReviewDTOTests.swift */; };
32BA4B4929A72A6400A155C5 /* UserDTOTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BA4B4829A72A6400A155C5 /* UserDTOTests.swift */; };
32C17B12299203DB002D607E /* AWSCore in Frameworks */ = {isa = PBXBuildFile; productRef = 32C17B11299203DB002D607E /* AWSCore */; };
32C17B14299203DB002D607E /* AWSS3 in Frameworks */ = {isa = PBXBuildFile; productRef = 32C17B13299203DB002D607E /* AWSS3 */; };
32C22965297D35BA0019EAF6 /* PumpPopUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C22964297D35BA0019EAF6 /* PumpPopUpViewController.swift */; };
Expand Down Expand Up @@ -262,6 +266,10 @@
32B7922C2993340C001145B0 /* ImageUploadTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageUploadTask.swift; sourceTree = "<group>"; };
32B792322993A54D001145B0 /* CustomerSatisfactionDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomerSatisfactionDTO.swift; sourceTree = "<group>"; };
32BA4B3F29A723DD00A155C5 /* LoginDTOTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginDTOTests.swift; sourceTree = "<group>"; };
32BA4B4229A7249D00A155C5 /* StoreRecommendDTOTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreRecommendDTOTests.swift; sourceTree = "<group>"; };
32BA4B4429A725D100A155C5 /* FetchStoreRecommendDTOTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FetchStoreRecommendDTOTests.swift; sourceTree = "<group>"; };
32BA4B4629A7263C00A155C5 /* ReviewDTOTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewDTOTests.swift; sourceTree = "<group>"; };
32BA4B4829A72A6400A155C5 /* UserDTOTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDTOTests.swift; sourceTree = "<group>"; };
32C22964297D35BA0019EAF6 /* PumpPopUpViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PumpPopUpViewController.swift; sourceTree = "<group>"; };
32C22966297E785C0019EAF6 /* ReviewReportPopUpViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewReportPopUpViewController.swift; sourceTree = "<group>"; };
32C865F429925C1800911A49 /* UserDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDTO.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -545,6 +553,9 @@
children = (
32572AAB29A7128D0042F82A /* StoreDTOTests.swift */,
32572AAE29A714760042F82A /* ProductDTOTests.swift */,
32BA4B4229A7249D00A155C5 /* StoreRecommendDTOTests.swift */,
32BA4B4429A725D100A155C5 /* FetchStoreRecommendDTOTests.swift */,
32BA4B4629A7263C00A155C5 /* ReviewDTOTests.swift */,
);
path = Store;
sourceTree = "<group>";
Expand Down Expand Up @@ -731,6 +742,14 @@
path = Account;
sourceTree = "<group>";
};
32BA4B4A29A72B9600A155C5 /* User */ = {
isa = PBXGroup;
children = (
32BA4B4829A72A6400A155C5 /* UserDTOTests.swift */,
);
path = User;
sourceTree = "<group>";
};
32C503B02991493E0044554E /* Frameworks */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -852,6 +871,7 @@
children = (
32572AAD29A714650042F82A /* Store */,
32BA4B4129A723ED00A155C5 /* Account */,
32BA4B4A29A72B9600A155C5 /* User */,
);
path = DTOTests;
sourceTree = "<group>";
Expand Down Expand Up @@ -1525,6 +1545,7 @@
buildActionMask = 2147483647;
files = (
32EF052F29A4DA0A00AF4CA1 /* MockNetworkService.swift in Sources */,
32BA4B4329A7249D00A155C5 /* StoreRecommendDTOTests.swift in Sources */,
32EF053729A51EB100AF4CA1 /* FetchStoreRecommendTest.swift in Sources */,
32EF054329A6515100AF4CA1 /* RegisterReviewTest.swift in Sources */,
32EF053929A5219F00AF4CA1 /* RecommendStoreTest.swift in Sources */,
Expand All @@ -1533,9 +1554,12 @@
3244A216292DC13B00716A2B /* FetchStoresTest.swift in Sources */,
32EF054529A6516E00AF4CA1 /* MockAWSS3Service.swift in Sources */,
32EF053529A51D7F00AF4CA1 /* FetchStoreReviewsTest.swift in Sources */,
32BA4B4929A72A6400A155C5 /* UserDTOTests.swift in Sources */,
32EF053B29A646F000AF4CA1 /* OAuthLoginTest.swift in Sources */,
32EF053E29A64DA000AF4CA1 /* CustomerSatisfactionUploadTest.swift in Sources */,
32BA4B4729A7263C00A155C5 /* ReviewDTOTests.swift in Sources */,
32EF053329A516DE00AF4CA1 /* FetchProductsTest.swift in Sources */,
32BA4B4529A725D100A155C5 /* FetchStoreRecommendDTOTests.swift in Sources */,
32572AAC29A7128D0042F82A /* StoreDTOTests.swift in Sources */,
32BA4B4029A723DD00A155C5 /* LoginDTOTests.swift in Sources */,
);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
//
// FetchStoreRecommendTests.swift
// RefillStationTests
//
// Created by 천수현 on 2023/02/23.
//

import XCTest
@testable import RefillStation

final class FetchStoreRecommendDTOTests: XCTestCase {
var fullContentUnit: FetchStoreRecommendDTO!
var minimumContentUnit: FetchStoreRecommendDTO!

override func setUpWithError() throws {
fullContentUnit = FetchStoreRecommendDTO(recommendation: true, count: 10)

minimumContentUnit = FetchStoreRecommendDTO(recommendation: nil, count: nil)
}

override func tearDownWithError() throws {
fullContentUnit = nil
minimumContentUnit = nil
}

func test_모든_필드가_채워진_FetchStoreRecommendDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_FetchStoreRecommendResponseValue를_반환하는지() {
// given
// when
let domainResult = fullContentUnit.toResponseValue()
// then
let expectationResult = FetchStoreRecommendResponseValue(recommendCount: 10, didRecommended: true)
XCTAssertEqual(domainResult, expectationResult)
}

func test_최소한의_필드만_채워진_FetchStoreRecommendDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_FetchStoreRecommendResponseValue를_반환하는지() {
// given
// when
let domainResult = minimumContentUnit.toResponseValue()
// then
let expectationResult = FetchStoreRecommendResponseValue(recommendCount: 0, didRecommended: false)
XCTAssertEqual(domainResult, expectationResult)
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ final class ProductDTOTests: XCTestCase {
minimumContentUnit = nil
}

func test_모든_필드가_채워진_LoginDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_OAuthLoginResponseValue를_반환하는지() {
func test_모든_필드가_채워진_ProductDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_Product를_반환하는지() {
// given
// when
let domainResult = fullContentUnit.toDomain()
Expand All @@ -32,7 +32,7 @@ final class ProductDTOTests: XCTestCase {
XCTAssertEqual(domainResult, expectationResult)
}

func test_최소한의_필드만_채워진_LoginDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_OAuthLoginResponseValue를_반환하는지() {
func test_최소한의_필드만_채워진_ProductDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_Product를_반환하는지() {
// given
// when
let domainResult = minimumContentUnit.toDomain()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
//
// ReviewDTOTests.swift
// RefillStationTests
//
// Created by 천수현 on 2023/02/23.
//

import XCTest
@testable import RefillStation

final class ReviewDTOTests: XCTestCase {
var fullContentUnit: ReviewDTO!
var minimumContentUnit: ReviewDTO!

override func setUpWithError() throws {
fullContentUnit = ReviewDTO(id: 1, storeId: 1, userId: 1, reviewText: "reviewText", createdAt: "2023-01-29T18:56:24", modifiedAt: "modifiedAt", user: .init(createdAt: "createdAt", modifiedAt: "modifiedAt", id: 1, name: "name", nickname: "nickname", email: "email", phoneNumber: "phoneNumber", type: "type", oauthType: "oauthType", oauthIdentity: "oauthIdentity", rating: 1, imgPath: "imgPath", removedAt: "removedAt"), imgReviews: [.init(createdAt: "createdAt", modifiedAt: "modifiedAt", id: 1, reviewId: 1, path: "path")], reviewTagLogs: [.init(createdAt: "createdAt", modifiedAt: "modifiedAt", id: 1, reviewId: 1, userId: 1, storeId: 1, reviewTagId: -1), .init(createdAt: "createdAt", modifiedAt: "modifiedAt", id: 1, reviewId: 1, userId: 1, storeId: 1, reviewTagId: nil)])

minimumContentUnit = ReviewDTO(id: nil, storeId: nil, userId: nil, reviewText: nil, createdAt: "2023-01-29T18:56:24", modifiedAt: nil, user: nil, imgReviews: nil, reviewTagLogs: nil)
}

override func tearDownWithError() throws {
fullContentUnit = nil
minimumContentUnit = nil
}

func test_모든_필드가_채워진_ReviewDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_Review를_반환하는지() {
// given
// when
let domainResult = fullContentUnit.toDomain()
// then
let expectationResult = Review(userId: 1, userNickname: "nickname", profileImagePath: "imgPath", writtenDate: "2023-01-29T18:56:24".toDate()!, imageURL: ["path"], description: "reviewText", tags: [.noKeywordToChoose, .noKeywordToChoose])
XCTAssertEqual(domainResult, expectationResult)
}

func test_최소한의_필드만_채워진_ReviewDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_Review를_반환하는지() {
// given
// when
let domainResult = minimumContentUnit.toDomain()
// then
let expectationResult = Review(userId: 0, userNickname: "", profileImagePath: "", writtenDate: "2023-01-29T18:56:24".toDate()!, imageURL: [], description: "", tags: [])
XCTAssertEqual(domainResult, expectationResult)
}
}

fileprivate extension String {
func toDate() -> Date? {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" // "2023-02-07T14:22:26"
let dateString = dateFormatter.date(from: self)
return dateString
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ final class StoreDTOTests: XCTestCase {
var minimumContentUnit: StoreDTO!

override func setUpWithError() throws {
fullContentUnit = StoreDTO(id: 0, userId: 0, name: "name", status: "", longitude: "", latitude: "", businessHour: [.init(day: "", time: "test time")], notice: "", address: "address", instaAccount: "instaAccount", callNumber: "", registrationNumber: "", isReady: true, distance: "10", imgStores: [.init(id: 0, storeId: 0, path: "")], storeRefillGuides: [.init(createdAt: "", modifiedAt: "", id: 0, storeId: 0, imgPath: "", removedAt: "")])
fullContentUnit = StoreDTO(id: 0, userId: 0, name: "name", status: "", longitude: "", latitude: "", businessHour: [.init(day: "월월", time: "test time")], notice: "", address: "address", instaAccount: "instaAccount", callNumber: "", registrationNumber: "", isReady: true, distance: "10", imgStores: [.init(id: 0, storeId: 0, path: "")], storeRefillGuides: [.init(createdAt: "", modifiedAt: "", id: 0, storeId: 0, imgPath: "", removedAt: "")])

minimumContentUnit = StoreDTO(id: nil, userId: nil, name: nil, status: nil, longitude: nil, latitude: nil, businessHour: nil, notice: nil, address: nil, instaAccount: nil, callNumber: nil, registrationNumber: nil, isReady: nil, distance: nil, imgStores: [], storeRefillGuides: [])
}
Expand All @@ -23,7 +23,7 @@ final class StoreDTOTests: XCTestCase {
minimumContentUnit = nil
}

func test_모든_필드가_채워진_LoginDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_OAuthLoginResponseValue를_반환하는지() {
func test_모든_필드가_채워진_StoreDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_Store를_반환하는지() {
// given
// when
let domainResult = fullContentUnit.toDomain()
Expand All @@ -32,7 +32,7 @@ final class StoreDTOTests: XCTestCase {
XCTAssertEqual(domainResult, expectationResult)
}

func test_최소한의_필드만_채워진_LoginDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_OAuthLoginResponseValue를_반환하는지() {
func test_최소한의_필드만_채워진_StoreDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_Store를_반환하는지() {
// given
// when
let domainResult = minimumContentUnit.toDomain()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
//
// StoreRecommendDTOTests.swift
// RefillStationTests
//
// Created by 천수현 on 2023/02/23.
//

import XCTest
@testable import RefillStation

final class StoreRecommendDTOTests: XCTestCase {
var fullContentUnit: StoreRecommendDTO!
var minimumContentUnit: StoreRecommendDTO!

override func setUpWithError() throws {
fullContentUnit = StoreRecommendDTO(isRecommendation: true, count: 10)

minimumContentUnit = StoreRecommendDTO(isRecommendation: nil, count: nil)
}

override func tearDownWithError() throws {
fullContentUnit = nil
minimumContentUnit = nil
}

func test_모든_필드가_채워진_StoreRecommendDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_RecommendStoreResponseValue를_반환하는지() {
// given
// when
let domainResult = fullContentUnit.toResponseValue()
// then
let expectationResult = RecommendStoreResponseValue(recommendCount: 10, didRecommended: true)
XCTAssertEqual(domainResult, expectationResult)
}

func test_최소한의_필드만_채워진_StoreRecommendDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_RecommendStoreResponseValue를_반환하는지() {
// given
// when
let domainResult = minimumContentUnit.toResponseValue()
// then
let expectationResult = RecommendStoreResponseValue(recommendCount: 0, didRecommended: false)
XCTAssertEqual(domainResult, expectationResult)
}
}
43 changes: 43 additions & 0 deletions RefillStation/RefillStationTests/DTOTests/User/UserDTOTests.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
//
// UserDTOTests.swift
// RefillStationTests
//
// Created by 천수현 on 2023/02/23.
//

import XCTest
@testable import RefillStation

final class UserDTOTests: XCTestCase {
var fullContentUnit: UserDTO!
var minimumContentUnit: UserDTO!

override func setUpWithError() throws {
fullContentUnit = UserDTO(createdAt: "createdAt", modifiedAt: "modifiedAt", id: 1, name: "name", nickname: "nickname", email: "email", phoneNumber: "phoneNumber", type: "type", oauthType: "oauthType", oauthIdentity: "oauthIdentity", rating: 2, imgPath: "imgPath")
minimumContentUnit = UserDTO(createdAt: nil, modifiedAt: nil, id: nil, name: nil, nickname: nil, email: nil, phoneNumber: nil, type: nil, oauthType: nil, oauthIdentity: nil, rating: nil, imgPath: nil)
}

override func tearDownWithError() throws {
fullContentUnit = nil
minimumContentUnit = nil
}

func test_모든_필드가_채워진_UserDTO의_toDomain_메서드를_호출하면_모든_필드가_채워진_User를_반환하는지() {
// given
// when
let domainResult = fullContentUnit.toDomain()
// then
let expectationResult = User(id: 1, name: "nickname", imageURL: "imgPath", level: .init(level: .beginner))
XCTAssertEqual(domainResult, expectationResult)
}

func test_최소한의_필드만_채워진_UserDTO의_toDomain_메서드를_호출하면_기본값으로_채워진_User를_반환하는지() {
// given
// when
let domainResult = minimumContentUnit.toDomain()
// then
let expectationResult = User(id: 0, name: "", imageURL: nil, level: .init(level: .regular))
XCTAssertEqual(domainResult, expectationResult)
}
}

0 comments on commit d9db4c8

Please sign in to comment.