Skip to content

Commit 7da4df3

Browse files
committed
unit tests of repos are now complete, coverage: 54%
1 parent 81ab97c commit 7da4df3

File tree

6 files changed

+211
-29
lines changed

6 files changed

+211
-29
lines changed

BankApplicationBackend/src/main/java/com/demo/bankapp/response/CreateTransactionResponse.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.demo.bankapp.response;
22

3-
import java.math.BigDecimal;
4-
53
import com.demo.bankapp.model.Transaction;
64

75
import lombok.Data;

BankApplicationBackend/src/main/java/com/demo/bankapp/response/CreateUserResponse.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.demo.bankapp.response;
22

3-
import com.demo.bankapp.model.User;
4-
53
import lombok.Data;
64

75
@Data
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.demo.bankapp.repository;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import java.math.BigDecimal;
6+
import java.util.List;
7+
8+
import org.junit.Test;
9+
import org.junit.runner.RunWith;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
12+
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace;
13+
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
14+
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
15+
import org.springframework.test.context.ActiveProfiles;
16+
import org.springframework.test.context.junit4.SpringRunner;
17+
18+
import com.demo.bankapp.model.Transaction;
19+
20+
@ActiveProfiles("test")
21+
@RunWith(SpringRunner.class)
22+
@DataJpaTest
23+
@AutoConfigureTestDatabase(replace = Replace.NONE)
24+
public class TransactionRepositoryTest {
25+
26+
@Autowired
27+
private TestEntityManager entityManager;
28+
29+
@Autowired
30+
private TransactionRepository repository;
31+
32+
@Test
33+
public void test() {
34+
Transaction firstTransaction = new Transaction(2515L, true, "EUR", BigDecimal.TEN);
35+
entityManager.persist(firstTransaction);
36+
entityManager.flush();
37+
38+
assertThat(repository.findAll().size()).isEqualTo(1);
39+
40+
// save
41+
Transaction transactionToSave = new Transaction(162L, false, "USD", BigDecimal.valueOf(5126));
42+
Transaction savedTransfer = repository.save(transactionToSave);
43+
44+
assertThat(repository.findAll().size()).isEqualTo(2);
45+
assertThat(savedTransfer.getAmount()).isEqualTo(transactionToSave.getAmount());
46+
assertThat(savedTransfer.getCurrency()).isEqualTo(transactionToSave.getCurrency());
47+
assertThat(savedTransfer.getUserId()).isEqualTo(transactionToSave.getUserId());
48+
assertThat(savedTransfer.getTransactionTime()).isEqualTo(transactionToSave.getTransactionTime());
49+
50+
// getOperationCountFromLast24Hours
51+
int operationCount = repository.getOperationCountFromLast24Hours(transactionToSave.getUserId());
52+
assertThat(operationCount).isEqualTo(1);
53+
54+
// findAllByUserId
55+
List<Transaction> byUserId = repository.findAllByUserId(transactionToSave.getUserId());
56+
assertThat(byUserId.size()).isEqualTo(1);
57+
}
58+
59+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.demo.bankapp.repository;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import java.math.BigDecimal;
6+
import java.util.List;
7+
8+
import org.junit.Test;
9+
import org.junit.runner.RunWith;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
12+
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace;
13+
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
14+
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
15+
import org.springframework.test.context.ActiveProfiles;
16+
import org.springframework.test.context.junit4.SpringRunner;
17+
18+
import com.demo.bankapp.model.Transfer;
19+
20+
@ActiveProfiles("test")
21+
@RunWith(SpringRunner.class)
22+
@DataJpaTest
23+
@AutoConfigureTestDatabase(replace = Replace.NONE)
24+
public class TransferRepositoryTest {
25+
26+
@Autowired
27+
private TestEntityManager entityManager;
28+
29+
@Autowired
30+
private TransferRepository repository;
31+
32+
@Test
33+
public void test() {
34+
Transfer firstWealth = new Transfer(255526L, 521125L, "USD", BigDecimal.valueOf(251266));
35+
entityManager.persist(firstWealth);
36+
entityManager.flush();
37+
38+
assertThat(repository.findAll().size()).isEqualTo(1);
39+
40+
// save
41+
Transfer transferToSave = new Transfer(2556L, 5125L, "USD", BigDecimal.valueOf(2516));
42+
Transfer savedTransfer = repository.save(transferToSave);
43+
44+
assertThat(repository.findAll().size()).isEqualTo(2);
45+
assertThat(savedTransfer.getFromUserId()).isEqualTo(transferToSave.getFromUserId());
46+
assertThat(savedTransfer.getToUserId()).isEqualTo(transferToSave.getToUserId());
47+
assertThat(savedTransfer.getCurrency()).isEqualTo(transferToSave.getCurrency());
48+
assertThat(savedTransfer.getAmount()).isEqualTo(transferToSave.getAmount());
49+
50+
// findAllTransfersFrom24Hours
51+
List<Transfer> transferList = repository.findAllTransfersFrom24Hours(savedTransfer.getFromUserId());
52+
assertThat(transferList.size()).isEqualTo(1);
53+
}
54+
55+
}

BankApplicationBackend/src/test/java/com/demo/bankapp/repository/UserRepositoryTest.java

Lines changed: 46 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,30 +22,51 @@
2222
@AutoConfigureTestDatabase(replace = Replace.NONE)
2323
public class UserRepositoryTest {
2424

25-
// @Autowired
26-
// private TestEntityManager entityManager;
27-
//
28-
// @Autowired
29-
// private UserRepository arrivalRepository;
30-
//
31-
// @Test
32-
// public void whenFindAll() {
33-
// // given
34-
// User firstUser = new User("Mert", "mert123", "12453561256");
35-
// entityManager.persist(firstUser);
36-
// entityManager.flush();
37-
//
38-
// User secondUser = new User("Mert2", "mert125", "12455561256");
39-
// entityManager.persist(secondUser);
40-
// entityManager.flush();
41-
//
42-
// // when
43-
// List<User> arrivals = arrivalRepository.findAll();
44-
//
45-
// // then
46-
// assertThat(arrivals.size()).isEqualTo(2);
47-
// assertThat(arrivals.get(0)).isEqualTo(firstUser);
48-
// assertThat(arrivals.get(1)).isEqualTo(secondUser);
49-
// }
25+
@Autowired
26+
private TestEntityManager entityManager;
27+
28+
@Autowired
29+
private UserRepository repository;
30+
31+
@Test
32+
public void test() {
33+
34+
int initialCountOfUsers = repository.findAll().size();
35+
36+
// findAll
37+
User firstUser = new User("Mert15", "mert123", "12453561256");
38+
entityManager.persist(firstUser);
39+
entityManager.flush();
40+
41+
User secondUser = new User("Mert12", "mert125", "12455561256");
42+
entityManager.persist(secondUser);
43+
entityManager.flush();
44+
45+
List<User> users = repository.findAll();
46+
47+
assertThat(users.size()).isEqualTo(initialCountOfUsers + 2);
48+
assertThat(users.get(initialCountOfUsers + 0)).isEqualTo(firstUser);
49+
assertThat(users.get(initialCountOfUsers + 1)).isEqualTo(secondUser);
50+
51+
// save
52+
User userToSave = new User("Saved_Mert", "mert1235", "12453571256");
53+
User savedUser = repository.save(userToSave);
54+
55+
assertThat(repository.findAll().size()).isEqualTo(initialCountOfUsers + 3);
56+
assertThat(userToSave.getUsername()).isEqualTo(savedUser.getUsername());
57+
assertThat(userToSave.getTcno()).isEqualTo(savedUser.getTcno());
58+
59+
// findByUsername
60+
User foundByUsername = repository.findByUsername(firstUser.getUsername());
61+
assertThat(firstUser.getUsername()).isEqualTo(foundByUsername.getUsername());
62+
assertThat(firstUser.getPassword()).isEqualTo(foundByUsername.getPassword());
63+
assertThat(firstUser.getTcno()).isEqualTo(foundByUsername.getTcno());
64+
65+
// findByTcno
66+
User foundByTcno = repository.findByTcno(firstUser.getTcno());
67+
assertThat(firstUser.getUsername()).isEqualTo(foundByTcno.getUsername());
68+
assertThat(firstUser.getPassword()).isEqualTo(foundByTcno.getPassword());
69+
assertThat(firstUser.getTcno()).isEqualTo(foundByTcno.getTcno());
70+
}
5071

5172
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.demo.bankapp.repository;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import java.math.BigDecimal;
6+
import java.util.HashMap;
7+
8+
import org.junit.Test;
9+
import org.junit.runner.RunWith;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
12+
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace;
13+
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
14+
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
15+
import org.springframework.test.context.ActiveProfiles;
16+
import org.springframework.test.context.junit4.SpringRunner;
17+
18+
import com.demo.bankapp.model.Wealth;
19+
20+
@ActiveProfiles("test")
21+
@RunWith(SpringRunner.class)
22+
@DataJpaTest
23+
@AutoConfigureTestDatabase(replace = Replace.NONE)
24+
public class WealthRepositoryTest {
25+
26+
@Autowired
27+
private TestEntityManager entityManager;
28+
29+
@Autowired
30+
private WealthRepository repository;
31+
32+
@Test
33+
public void test() {
34+
int initialCountOfWealth = repository.findAll().size();
35+
36+
Wealth firstWealth = new Wealth(null, new HashMap<String, BigDecimal>());
37+
entityManager.persist(firstWealth);
38+
entityManager.flush();
39+
40+
assertThat(repository.findAll().size()).isEqualTo(initialCountOfWealth + 1);
41+
42+
Wealth wealthToSave = new Wealth(null, new HashMap<String, BigDecimal>());
43+
Wealth savedWealth = repository.save(wealthToSave);
44+
45+
assertThat(repository.findAll().size()).isEqualTo(initialCountOfWealth + 2);
46+
assertThat(savedWealth.getUserId()).isNotNull();
47+
48+
assertThat(repository.findById(savedWealth.getUserId())).isNotNull();
49+
}
50+
51+
}

0 commit comments

Comments
 (0)