Skip to content

Commit 2c3008d

Browse files
committed
Amended Testing for login and register use case
1 parent 5c913e5 commit 2c3008d

File tree

9 files changed

+72
-20
lines changed

9 files changed

+72
-20
lines changed

src/main/java/dataAccess/IUserDataAccess.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
public interface IUserDataAccess {
1010

11-
1211
/**
1312
* @param username the user's username
1413
* @return the User object who has username
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
title, description, privacy, id, owner, flashcardsIds
2-
test set,for testing study use case,true,0,testUser,0,1,2,3,4,5,6,7,8,9,10,11
3-
empty test set,for testing study use case with empty set,true,1,testUser,
4-
tester, tester thing, true, 0, Steve,
2+
test set,for testing study use case,true,0,Walt,0,1,2,3,4,5,6,7,8,9,10,11
3+
empty test set,for testing study use case with empty set,true,1,Walt,
4+
tester,tester thing,true,3,Steve,
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
username,password,isAdmin,flashcardSetIds
2+
Tom,Cruise123,true
3+
George,Clooney123,false
4+
Steve,Apple123,false
5+
John,Rockefeller123,false
6+
Richard,Virgin123,true
7+
testUser,456r2t17yuihjn@,false,0,1
8+
Walt,Disney123,false,0,1
9+
Brad,Pitt123,true
10+
rObErT,DowneyJr.,true
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
username,password,isAdmin,flashcardSetIds

src/test/java/login_and_sign_up_use_case/test_data/Users.csv

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/test/java/login_and_sign_up_use_case/userLoginInteractorTest.java

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
import org.junit.jupiter.api.Test;
66
import static org.junit.Assert.fail;
77
import java.io.IOException;
8+
import java.util.HashMap;
9+
import java.util.Map;
10+
811
import login_and_signup_use_case.login_and_signup_use_case_screens.UserLoginPresenter;
912
import login_and_signup_use_case.UserLoginOutputBoundary;
1013
import login_and_signup_use_case.UserLoginInputBoundary;
@@ -15,12 +18,15 @@
1518
class UserLoginInteractorTest {
1619

1720
// 1) UserLoginInteractorTest and prerequisite objects
18-
21+
IFlashcardDataAccess flashcardGateway = new FlashcardDataAccess(
22+
"src/test/java/quizUseCase/testData/Flashcards.csv");
23+
IFlashcardSetDataAccess flashcardSetGateway = new FlashcardSetDataAccess(
24+
"src/test/java/quizUseCase/testData/FlashcardSets.csv");
1925
IUserDataAccess userGateway = new CommonUserDataAccess(
20-
"src/test/java/login_and_sign_up_use_case/test_data/Users.csv");
26+
"src/test/java/login_and_sign_up_use_case/test_data/LoginUsers.csv");
2127

2228

23-
DBGateway gateway = new DBGateway(null, null, userGateway);
29+
DBGateway gateway = new DBGateway(flashcardGateway, flashcardSetGateway, userGateway);
2430

2531
UserLoginInteractorTest() throws IOException {
2632
}
@@ -30,10 +36,11 @@ void login() throws IOException {
3036
UserLoginOutputBoundary presenter = new UserLoginPresenter() {
3137
@Override
3238
public UserLoginResponseModel prepareSuccessView(UserLoginResponseModel user) {
39+
HashMap<Integer, String[]> emptyFlashcardSet = new HashMap();
3340

3441
Assertions.assertEquals("John", user.getSignedInUsername());
3542
Assertions.assertFalse(user.getIsAdmin());
36-
//assertEquals(Map, user.getFlashcardSets());
43+
Assertions.assertEquals(emptyFlashcardSet, user.getFlashcardSets());
3744
return null;
3845
}
3946

@@ -57,11 +64,15 @@ void login2() throws IOException {
5764
UserLoginOutputBoundary presenter = new UserLoginPresenter() {
5865
@Override
5966
public UserLoginResponseModel prepareSuccessView(UserLoginResponseModel user) {
67+
HashMap<Integer, String[]> emptyFlashcardSet = new HashMap();
68+
Map<Integer, String[]> notEmptyFlashcardSet = user.getFlashcardSets();
6069

6170
Assertions.assertEquals("Walt", user.getSignedInUsername());
6271
Assertions.assertFalse(user.getIsAdmin());
6372
Assertions.assertTrue(!user.getIsAdmin());
64-
//assertEquals({}, user.getFlashcardSets());
73+
Assertions.assertEquals(notEmptyFlashcardSet, user.getFlashcardSets());
74+
System.out.println(user.getFlashcardSets());
75+
Assertions.assertNotEquals(emptyFlashcardSet, user.getFlashcardSets());
6576
return null;
6677
}
6778

@@ -89,7 +100,6 @@ public UserLoginResponseModel prepareSuccessView(UserLoginResponseModel user) {
89100
Assertions.assertEquals("George", user.getSignedInUsername());
90101
Assertions.assertFalse(user.getIsAdmin());
91102
Assertions.assertTrue(!user.getIsAdmin());
92-
//assertEquals({}, user.getFlashcardSets());
93103
return null;
94104
}
95105

@@ -117,7 +127,6 @@ public UserLoginResponseModel prepareSuccessView(UserLoginResponseModel user) {
117127
Assertions.assertEquals("rObErT", user.getSignedInUsername());
118128
Assertions.assertTrue(user.getIsAdmin());
119129
Assertions.assertFalse(!user.getIsAdmin());
120-
//assertEquals({}, user.getFlashcardSets());
121130
return null;
122131
}
123132

src/test/java/login_and_sign_up_use_case/userRegisterInteractorTest.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ class UserRegisterInteractorTest {
2020

2121
// 1) UserRegisterInteractor and prerequisite objects
2222

23+
/**To test registration with csv files*/
2324
IUserDataAccess userGateway = new CommonUserDataAccess(
24-
"src/test/java/login_and_sign_up_use_case/test_data/Users.csv");
25+
"src/test/java/login_and_sign_up_use_case/test_data/RegistrationUsers.csv");
2526

2627
DBGateway gateway = new DBGateway(null, null, userGateway);
2728

@@ -110,6 +111,7 @@ public UserRegisterResponseModel prepareSuccessView(UserRegisterResponseModel us
110111
Assertions.assertTrue(user.getIsAdmin());
111112
Assertions.assertTrue(gateway.existsByName("Steve"));
112113
Assertions.assertTrue(gateway.existsByName("Richard"));
114+
Assertions.assertTrue(gateway.existsByName("Tom"));
113115
Assertions.assertFalse(gateway.existsByName("Daquan"));
114116
return null;
115117
}
@@ -141,6 +143,8 @@ public UserRegisterResponseModel prepareSuccessView(UserRegisterResponseModel us
141143
Assertions.assertTrue(user.getIsAdmin());
142144
Assertions.assertTrue(gateway.existsByName("Steve"));
143145
Assertions.assertTrue(gateway.existsByName("Richard"));
146+
Assertions.assertTrue(gateway.existsByName("Tom"));
147+
Assertions.assertTrue(gateway.existsByName("Brad"));
144148
Assertions.assertFalse(gateway.existsByName("Daquan"));
145149
return null;
146150
}
@@ -162,4 +166,39 @@ public UserRegisterResponseModel prepareFailView(String error) {
162166
interactor.create(inputData);
163167
}
164168

169+
@Test
170+
void create5() throws IOException {
171+
172+
IUserDataAccess userGateway2 = new InMemoryUser();
173+
174+
DBGateway gateway2 = new DBGateway(null, null, userGateway2);
175+
UserRegisterOutputBoundary presenter = new UserRegisterOutputBoundary() {
176+
@Override
177+
public UserRegisterResponseModel prepareSuccessView(UserRegisterResponseModel user) {
178+
179+
Assertions.assertEquals("Brad", user.getSignedUpUsername());
180+
Assertions.assertTrue(user.getIsAdmin());
181+
// Assertions.assertTrue(gateway.existsByName("Steve"));
182+
Assertions.assertFalse(gateway2.existsByName("Channing"));
183+
Assertions.assertFalse(gateway2.existsByName("Ryan"));
184+
return null;
185+
}
186+
187+
@Override
188+
public UserRegisterResponseModel prepareFailView(String error) {
189+
fail("Use case failure is unexpected.");
190+
return null;
191+
}
192+
};
193+
194+
UserFactory userFactory = new CommonUserFactory();
195+
UserRegisterInputBoundary interactor = new UserRegisterInteractor(
196+
gateway2, presenter, userFactory);
197+
198+
UserRegisterRequestModel inputData = new UserRegisterRequestModel(
199+
"Brad", "Pitt123", "Pitt123", "BuiltDifferent");
200+
201+
interactor.create(inputData);
202+
}
203+
165204
}

src/test/java/quizUseCase/QuizUseCaseTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ QuizSettingsRequestModel setup(int numQuestions, boolean timerOn, int timerDurat
1818
IFlashcardSetDataAccess flashcardSetGateway = new FlashcardSetDataAccess(
1919
"src/test/java/quizUseCase/testData/FlashcardSets.csv");
2020
IUserDataAccess userGateway = new CommonUserDataAccess(
21-
"src/test/java/quizUseCase/testData/Users.csv");
21+
"src/test/java/quizUseCase/testData/LoginUsers.csv");
2222

2323
DBGateway gateway = new DBGateway(flashcardGateway, flashcardSetGateway, userGateway);
2424

src/test/java/studyMode/StudySessionUseCaseUnitTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ StudySettingsRequestModel setup(int flashcardSetId, String sortingOrder,
2222
boolean termIsDefault, boolean isReverse) throws IOException {
2323
IFlashcardDataAccess flashcardGateway = new FlashcardDataAccess("src/test/java/studyMode/testData/Flashcards.csv");
2424
IFlashcardSetDataAccess flashcardSetGateway = new FlashcardSetDataAccess("src/test/java/studyMode/testData/FlashcardSets.csv");
25-
IUserDataAccess userGateway = new CommonUserDataAccess("src/test/java/studyMode/testData/Users.csv");
25+
IUserDataAccess userGateway = new CommonUserDataAccess("src/test/java/studyMode/testData/LoginUsers.csv");
2626

2727
DBGateway gateway = new DBGateway(flashcardGateway, flashcardSetGateway, userGateway);
2828

0 commit comments

Comments
 (0)