Skip to content

Commit

Permalink
Added test methods without implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
nklimovych committed May 28, 2024
1 parent 639f08c commit e96271d
Show file tree
Hide file tree
Showing 11 changed files with 498 additions and 5 deletions.
23 changes: 23 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,29 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-docker-compose</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>1.19.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.12.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package mate.academy.bookstore.container;

import org.testcontainers.containers.MySQLContainer;

public class MySqlTestContainer extends MySQLContainer<MySqlTestContainer> {
private static final String DB_IMAGE = "mysql:8";

private static MySqlTestContainer mysqlContainer;

private MySqlTestContainer() {
super(DB_IMAGE);
}

public static synchronized MySqlTestContainer getInstance() {
if (mysqlContainer == null) {
mysqlContainer = new MySqlTestContainer();
}
return mysqlContainer;
}

@Override
public void start() {
super.start();
System.setProperty("TEST_DB_URL", mysqlContainer.getJdbcUrl());
System.setProperty("TEST_DB_USERNAME", mysqlContainer.getUsername());
System.setProperty("TEST_DB_PASSWORD", mysqlContainer.getPassword());
}

@Override
public void stop() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
package mate.academy.bookstore.controller;

import org.junit.jupiter.api.Test;

class BookControllerTest {

@Test
void getAll_ValidRequest_True() {
}

@Test
void getAll_InvalidRequest_False() {
}

@Test
void getBookById_ValidId_True() {
}

@Test
void getBookById_InvalidId_False() {
}

@Test
void getBookById_NullId_False() {
}

@Test
void createBook_ValidBook_True() {
}

@Test
void createBook_InvalidBook_False() {
}

@Test
void createBook_NullBook_False() {
}

@Test
void updateBook_ValidBook_True() {
}

@Test
void updateBook_InvalidBook_False() {
}

@Test
void updateBook_NullBook_False() {
}

@Test
void deleteBook_ValidId_True() {
}

@Test
void deleteBook_InvalidId_False() {
}

@Test
void deleteBook_NullId_False() {
}

@Test
void searchBook_ValidCriteria_True() {
}

@Test
void searchBook_InvalidCriteria_False() {
}

@Test
void searchBook_EmptyCriteria_False() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
package mate.academy.bookstore.controller;

import org.junit.jupiter.api.Test;

class CategoryControllerTest {

@Test
void createCategory_ValidCategory_True() {
}

@Test
void createCategory_InvalidCategory_False() {
}

@Test
void createCategory_NullCategory_False() {
}

@Test
void getAll_ValidRequest_True() {
}

@Test
void getAll_InvalidRequest_False() {
}

@Test
void getCategoryById_ValidId_True() {
}

@Test
void getCategoryById_InvalidId_False() {
}

@Test
void getCategoryById_NullId_False() {
}

@Test
void updateCategory_ValidCategory_True() {
}

@Test
void updateCategory_InvalidCategory_False() {
}

@Test
void updateCategory_NullCategory_False() {
}

@Test
void deleteCategory_ValidId_True() {
}

@Test
void deleteCategory_InvalidId_False() {
}

@Test
void deleteCategory_NullId_False() {
}

@Test
void getBooksByCategoryId_ValidId_True() {
}

@Test
void getBooksByCategoryId_InvalidId_False() {
}

@Test
void getBooksByCategoryId_NullId_False() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package mate.academy.bookstore.repository.book;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;

@DataJpaTest
class BookRepositoryTest {

@Autowired
private BookRepository bookRepository;

@Test
void findAllBooks_ValidRequest_True() {
}

@Test
void findAllBooks_InvalidRequest_False() {
}

@Test
void findBookByIsbn_GivenValidIsbn_True() {
}

@Test
void findBookByIsbn_GivenInvalidIsbn_False() {
}

@Test
void findBookByIsbn_EmptyIsbn_False() {
}

@Test
void findBookByIsbn_NullIsbn_False() {
}

@Test
void findAllBooksByCategoryId_ValidCategoryId_True() {
}

@Test
void findAllBooksByCategoryId_InvalidCategoryId_False() {
}

@Test
void findAllBooksByCategoryId_EmptyCategoryId_False() {
}

@Test
void findAllBooksByCategoryId_NullCategoryId_False() {
}

@Test
void findAllBooks_NoBooksInRepository_False() {
}

@Test
void findAllBooksByCategoryId_CategoryHasNoBooks_False() {
}

@Test
void findBookByIsbn_ValidIsbnBookNotInRepository_False() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package mate.academy.bookstore.repository.category;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.test.context.jdbc.Sql;

@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
class CategoryRepositoryTest {
private static final String DELETE_DATA_FROM_DB = "classpath:database/delete-data-from-db.sql";
private static final String INSERT_DATA_INTO_DB = "classpath:database/insert-data-into-db.sql";

@Autowired
private CategoryRepository categoryRepository;

@Test
@DisplayName("Find a book by name")
@Sql(scripts = {DELETE_DATA_FROM_DB, INSERT_DATA_INTO_DB},
executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)
void findByName_ValidName_True() {
}

@Test
void findByName_InvalidName_False() {
}

@Test
void findByName_EmptyName_False() {
}

@Test
void findByName_NullName_False() {
}

@Test
void findByName_NameWithDifferentCase_False() {
}

@Test
void findByName_SpecialCharactersInName_False() {
}

@Test
void findByName_MultipleCategoriesWithSameName_True() {
}
}
Loading

0 comments on commit e96271d

Please sign in to comment.