BAEL-2827 code added for deleteby methods
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
package com.baeldung;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class Application {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.baeldung.entity;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
|
||||
@Entity
|
||||
public class Fruit {
|
||||
|
||||
@Id
|
||||
private long id;
|
||||
private String name;
|
||||
private String color;
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getColor() {
|
||||
return color;
|
||||
}
|
||||
|
||||
public void setColor(String color) {
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.baeldung.repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.baeldung.entity.Fruit;
|
||||
|
||||
@Repository
|
||||
public interface FruitRepository extends JpaRepository<Fruit, Long> {
|
||||
|
||||
Long deleteByName(String name);
|
||||
|
||||
List<Fruit> deleteByColor(String color);
|
||||
|
||||
Long removeByName(String name);
|
||||
|
||||
List<Fruit> removeByColor(String color);
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
spring.jpa.show-sql=true
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
package com.baeldung.repository;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.jdbc.Sql;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.baeldung.entity.Fruit;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
class FruitRepositoryIntegrationTest {
|
||||
|
||||
@Autowired
|
||||
private FruitRepository fruitRepository;
|
||||
|
||||
@Transactional
|
||||
@Test
|
||||
@Sql(scripts = { "/test-fruit-data.sql" })
|
||||
public void givenFruits_WhenDeletedByColor_DeletedFruitShouldReturn() {
|
||||
|
||||
List<Fruit> fruits = fruitRepository.deleteByColor("green");
|
||||
|
||||
assertEquals("number of fruits are not matching", 2, fruits.size());
|
||||
fruits.forEach(fruit -> assertEquals("Its not a green fruit", "green", fruit.getColor()));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Test
|
||||
@Sql(scripts = { "/test-fruit-data.sql" })
|
||||
public void givenFruits_WhenDeletedByName_DeletedFruitCountShouldReturn() {
|
||||
|
||||
Long deletedFruitCount = fruitRepository.deleteByName("apple");
|
||||
|
||||
assertEquals("deleted fruit count is not matching", 1, deletedFruitCount.intValue());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Test
|
||||
@Sql(scripts = { "/test-fruit-data.sql" })
|
||||
public void givenFruits_WhenRemovedByColor_DeletedFruitShouldReturn() {
|
||||
|
||||
List<Fruit> fruits = fruitRepository.removeByColor("green");
|
||||
|
||||
assertEquals("number of fruits are not matching", 2, fruits.size());
|
||||
fruits.forEach(fruit -> assertEquals("Its not a green fruit", "green", fruit.getColor()));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Test
|
||||
@Sql(scripts = { "/test-fruit-data.sql" })
|
||||
public void givenFruits_WhenRemovedByName_DeletedFruitCountShouldReturn() {
|
||||
|
||||
Long deletedFruitCount = fruitRepository.removeByName("apple");
|
||||
|
||||
assertEquals("deleted fruit count is not matching", 1, deletedFruitCount.intValue());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
insert into fruit(id,name,color) values (1,'apple','red');
|
||||
insert into fruit(id,name,color) values (2,'custard apple','green');
|
||||
insert into fruit(id,name,color) values (3,'mango','yellow');
|
||||
insert into fruit(id,name,color) values (4,'guava','green');
|
||||
Reference in New Issue
Block a user