mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
48 lines
1.2 KiB
Java
48 lines
1.2 KiB
Java
package org.tests.model.onetoone;
|
|
|
|
import io.ebean.BaseTestCase;
|
|
import io.ebean.Ebean;
|
|
import org.junit.Test;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
public class TestOneToOneSoftDeleteChild extends BaseTestCase {
|
|
|
|
@Test
|
|
public void deleteChild() {
|
|
|
|
|
|
OtoSdChild child = new OtoSdChild("c1");
|
|
OtoSdMaster master = new OtoSdMaster("m1");
|
|
master.setChild(child);
|
|
|
|
Ebean.save(master);
|
|
|
|
|
|
verifyBeforeDelete(master, child);
|
|
|
|
Ebean.delete(child);
|
|
|
|
verifyAfterDelete(master, child);
|
|
}
|
|
|
|
private void verifyBeforeDelete(OtoSdMaster parent, OtoSdChild child) {
|
|
assertThat(OtoSdMaster.find.byId(parent.getId()).getChild().getId())
|
|
.isEqualTo(child.getId());
|
|
|
|
assertThat(
|
|
OtoSdChild.find.byId(child.getId()).getMaster().getId())
|
|
.isEqualTo(parent.getId());
|
|
}
|
|
|
|
private void verifyAfterDelete(OtoSdMaster parent, OtoSdChild child) {
|
|
// After delete, finding child by id should return null
|
|
assertThat(OtoSdChild.find.byId(child.getId()))
|
|
.isNull();
|
|
|
|
// After delete, getting linked child from parent should return null
|
|
assertThat(OtoSdMaster.find.byId(parent.getId()).getChild())
|
|
.isNull();
|
|
}
|
|
}
|