database init for testing
This commit is contained in:
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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<>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
5
src/test/resources/borrowed-book.sql
Normal file
5
src/test/resources/borrowed-book.sql
Normal 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')
|
||||
);
|
||||
5
src/test/resources/reserved-book.sql
Normal file
5
src/test/resources/reserved-book.sql
Normal 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')
|
||||
);
|
||||
Reference in New Issue
Block a user