database init for testing

This commit is contained in:
Wojtek Krzywiec
2020-06-08 06:15:10 +02:00
parent 428d281e38
commit 36316de3f7
6 changed files with 27 additions and 32 deletions

View File

@@ -16,7 +16,7 @@ public class BorrowBookComponentTest extends BaseComponentTest {
@Test
@DisplayName("Borrow reserved book")
@Sql({"/book-and-user.sql", "/available-book.sql"})
@Sql({"/book-and-user.sql", "/reserved-book.sql"})
@Sql(scripts = "/clean-database.sql", executionPhase = AFTER_TEST_METHOD)
public void givenBookIsReserved_thenBorrowIt_thenBookIsBorrowed() {
//given
@@ -30,11 +30,6 @@ public class BorrowBookComponentTest extends BaseComponentTest {
Long.class,
UserTestData.johnDoeEmail());
jdbcTemplate.update(
"INSERT INTO public.reserved (book_id, user_id) VALUES (?, ?)",
homoDeusBookId,
activeUserId);
BorrowBookCommand borrowBookCommand =
BorrowBookCommand.builder()
.bookId(homoDeusBookId )

View File

@@ -16,7 +16,7 @@ public class GiveBackBookComponentTest extends BaseComponentTest {
@Test
@DisplayName("Give back borrowed book")
@Sql({"/book-and-user.sql", "/available-book.sql"})
@Sql({"/book-and-user.sql", "/borrowed-book.sql"})
@Sql(scripts = "/clean-database.sql", executionPhase = AFTER_TEST_METHOD)
public void givenBookIsReserved_thenBorrowIt_thenBookIsBorrowed() {
//given
@@ -30,11 +30,6 @@ public class GiveBackBookComponentTest extends BaseComponentTest {
Long.class,
UserTestData.johnDoeEmail());
jdbcTemplate.update(
"INSERT INTO public.borrowed (book_id, user_id) VALUES (?, ?)",
homoDeusBookId,
activeUserId);
GiveBackBookCommand giveBackBookCommand =
GiveBackBookCommand.builder()
.bookId(homoDeusBookId )

View File

@@ -125,7 +125,7 @@ public class BorrowingDatabaseAdapter implements BorrowingDatabase {
try {
return Optional.ofNullable(
jdbcTemplate.queryForObject(
"SELECT book_id AS bookId, user_id AS userId, reserved_date AS reservedDate FROM reserved WHERE reserved.book_id = ?",
"SELECT book_id, user_id, reserved_date FROM reserved WHERE book_id = ?",
new ReservedBookRowMapper(),
bookId));
} catch (DataAccessException exception) {
@@ -148,9 +148,9 @@ public class BorrowingDatabaseAdapter implements BorrowingDatabase {
private List<ReservedBook> getReservedBooksByUser(Long userId) {
try {
return jdbcTemplate.queryForList(
"SELECT book_id FROM reserved WHERE reserved.user_id = ?",
ReservedBook.class,
return jdbcTemplate.query(
"SELECT book_id, user_id, reserved_date FROM reserved WHERE user_id = ?",
new ReservedBookRowMapper(),
userId
);
} catch (DataAccessException exception){
@@ -159,6 +159,14 @@ public class BorrowingDatabaseAdapter implements BorrowingDatabase {
}
private List<BorrowedBook> getBorrowedBooksByUser(Long userId) {
return new ArrayList<>();
try {
return jdbcTemplate.query(
"SELECT book_id, user_id, borrowed_date FROM borrowed WHERE user_id = ?",
new BorrowedBookRowMapper(),
userId
);
} catch (DataAccessException exception){
return new ArrayList<>();
}
}
}

View File

@@ -113,16 +113,11 @@ public class BorrowingDatabaseAdapterITCase {
@Test
@DisplayName("Get reserved book by its id")
@Sql({"/book-and-user.sql"})
@Sql({"/book-and-user.sql", "/reserved-book.sql"})
@Sql(scripts = "/clean-database.sql", executionPhase = AFTER_TEST_METHOD)
public void shouldFindReservedBook(){
//given
Long bookId = getHomoDeusBookIdFromDb();
Long johnDoeUserId = getJohnDoeUserIdFromDb();
jdbcTemplate.update(
"INSERT INTO public.reserved (book_id, user_id) VALUES (?, ?)",
bookId,
johnDoeUserId);
//when
Optional<ReservedBook> reservedBook = database.getReservedBook(bookId);
@@ -178,19 +173,11 @@ public class BorrowingDatabaseAdapterITCase {
@Test
@DisplayName("Find borrowed book by id")
@Sql({"/book-and-user.sql"})
@Sql({"/book-and-user.sql", "/borrowed-book.sql"})
@Sql(scripts = "/clean-database.sql", executionPhase = AFTER_TEST_METHOD)
public void shouldFindBorrowedBook(){
//given
Long bookId = getHomoDeusBookIdFromDb();
Long johnDoeUserId = getJohnDoeUserIdFromDb();
jdbcTemplate.update(
"INSERT INTO public.borrowed (book_id, user_id, borrowed_date) VALUES (?, ?, ?)",
bookId,
johnDoeUserId,
Instant.now());
Long id = jdbcTemplate.queryForObject("SELECT book_id FROM borrowed WHERE book_id = ?", Long.class, bookId);
//when
Optional<BorrowedBook> borrowedBook = database.getBorrowedBook(bookId);

View File

@@ -0,0 +1,5 @@
INSERT INTO public.borrowed (book_id, user_id)
VALUES (
(SELECT id FROM public.book WHERE title = 'Homo Deus'),
(SELECT id FROM public.user WHERE email = 'john.doe@test.com')
);

View File

@@ -0,0 +1,5 @@
INSERT INTO public.reserved (book_id, user_id)
VALUES (
(SELECT id FROM public.book WHERE title = 'Homo Deus'),
(SELECT id FROM public.user WHERE email = 'john.doe@test.com')
);