Testing Student
Testing Student
1.Student.java
package com.example.demorepository.entity;
import java.io.Serializable;
import jakarta.persistence.Entity;
import jakarta.persistence.Column;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
public Student() {}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", enrollment=" +
enrollmentId + "]";
}
}
REPOSITORY
1.StudentRepository.interface
package com.example.demorepository.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import com.example.demorepository.entity.Student;
APPLICATION.PROPERTIES
spring.application.name=demorepository
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
spring.jpa.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=create-drop
spring.h2.console.enabled=true
logging.level.route=off
logging.level.org.springframework=error
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
spring.main.banner-mode=off
logging.pattern.console=%msg%n
MainApplicationTests
package com.example.demorepository;
import java.util.Optional;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import com.example.demorepository.entity.Student;
import com.example.demorepository.repository.StudentRepository;
@SpringBootTest
public class MainApplicationTests {
@Autowired
private StudentRepository studentRepository;
@Test
public void testCrud() {
// Create
Student student = new Student("Alisa Simmons", "2022AN50123");
Student savedStudent = studentRepository.save(student);
assertNotNull(savedStudent.getId());
// Update
savedStudent.setName("Alissa Simmons");
Student updatedStudent = studentRepository.save(savedStudent);
assertEquals("Alissa Simmons", updatedStudent.getName());
// Read
Optional<Student> foundStudentOptional =
studentRepository.findById(savedStudent.getId());
assertTrue(foundStudentOptional.isPresent());
assertEquals(savedStudent.getId(), foundStudentOptional.get().getId());
// Delete
studentRepository.delete(foundStudentOptional.get());
assertFalse(studentRepository.existsById(savedStudent.getId()));
}
}