Migrate the tests.
This commit is contained in:
+35
-39
@@ -1,28 +1,28 @@
|
||||
package space.kklochko.jdbc_hospital_example.cli.commands
|
||||
package space.kklochko.jpa_hospital_example.cli.commands
|
||||
|
||||
import groovy.sql.Sql
|
||||
import space.kklochko.jdbc_hospital_example.cli.commands.factories.CommandFactory
|
||||
import space.kklochko.jdbc_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jdbc_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jdbc_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.DepartmentRepository
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.IndicatorRepository
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.PatientRepository
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.CreateTables
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.TurnOnUUIDPlugin
|
||||
import space.kklochko.jdbc_hospital_example.models.Indicator
|
||||
import jakarta.persistence.EntityManager
|
||||
import space.kklochko.jpa_hospital_example.cli.commands.factories.CommandFactory
|
||||
import space.kklochko.jpa_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jpa_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jpa_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jpa_hospital_example.db.factories.EntityManagerConnection
|
||||
import space.kklochko.jpa_hospital_example.db.repositories.DepartmentRepository
|
||||
import space.kklochko.jpa_hospital_example.db.repositories.IndicatorRepository
|
||||
import space.kklochko.jpa_hospital_example.db.repositories.PatientRepository
|
||||
import spock.lang.Shared
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Stepwise
|
||||
import spock.lang.Subject
|
||||
|
||||
import java.sql.Timestamp
|
||||
|
||||
@Stepwise
|
||||
class CommandEntitySpec extends Specification {
|
||||
@Shared
|
||||
Sql sql
|
||||
|
||||
@Shared
|
||||
EntityManager manager
|
||||
|
||||
@Shared
|
||||
DataBaseConfig db
|
||||
|
||||
@@ -33,11 +33,7 @@ class CommandEntitySpec extends Specification {
|
||||
db = (new LoadDataBaseConfigFromEnvFile()).load("db.testing")
|
||||
dbc = new DataBaseConnection(db)
|
||||
|
||||
TurnOnUUIDPlugin turnOnUUIDPlugin = new TurnOnUUIDPlugin()
|
||||
turnOnUUIDPlugin.create(dbc)
|
||||
|
||||
CreateTables createTables = new CreateTables()
|
||||
createTables.create(dbc)
|
||||
manager = (new EntityManagerConnection("testing")).connect()
|
||||
|
||||
sql = Sql.newInstance(db.getUrl(), db.getProperties().get("user"), db.getProperties().get("password"))
|
||||
}
|
||||
@@ -67,19 +63,19 @@ class CommandEntitySpec extends Specification {
|
||||
sql.execute("delete from " + datatype + "s")
|
||||
|
||||
where:
|
||||
datatype | values | repository || verifyStatement
|
||||
"indicator" | ["id": "3b3f62f4-75b4-11ee-99cb-c0e4349366ab",
|
||||
datatype | values | repository || verifyStatement
|
||||
"indicator" | ["id": "3b3f62f4-75b4-11ee-99cb-c0e4349366ad",
|
||||
"type": "blood, blood",
|
||||
"values": "Good samples.",
|
||||
"timestamp": "2023-10-17 14:30:00"] | new IndicatorRepository(dbc) || "SELECT type FROM indicators WHERE id = ?"
|
||||
"patient" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366bb",
|
||||
"timestamp": "2023-10-17 14:30:00"] | new IndicatorRepository(manager) || "SELECT type FROM indicators WHERE id = ?"
|
||||
"patient" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366bd",
|
||||
"name": "Oleh",
|
||||
"age": "21",
|
||||
"phone": "380123451234"] | new PatientRepository(dbc) || "SELECT name FROM patients WHERE id = ?"
|
||||
"department" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366cb",
|
||||
"phone": "380123451234"] | new PatientRepository(manager) || "SELECT name FROM patients WHERE id = ?"
|
||||
"department" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366cd",
|
||||
"name": "First department",
|
||||
"location": "Stepan Bandera Street",
|
||||
"phone": "380123451244"] | new DepartmentRepository(dbc) || "SELECT name FROM departments WHERE id = ?"
|
||||
"phone": "380123451244"] | new DepartmentRepository(manager) || "SELECT name FROM departments WHERE id = ?"
|
||||
}
|
||||
|
||||
def "Test update commands"() {
|
||||
@@ -110,22 +106,22 @@ class CommandEntitySpec extends Specification {
|
||||
sql.execute("delete from " + datatype + "s")
|
||||
|
||||
where:
|
||||
datatype | values | fixture | repository || verifyStatement
|
||||
datatype | values | fixture | repository || verifyStatement
|
||||
"indicator" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366ab",
|
||||
"type": "blood, blood",
|
||||
"values": "Good samples.",
|
||||
"timestamp": "2023-10-17 14:30:00"] | "insert into indicators values ('bcbbcdb4-702c-11ee-9113-c0e4349366ab', 'Samples', 'fine', '2023-10-17 16:30:00')"
|
||||
| new IndicatorRepository(dbc) || "SELECT type FROM indicators WHERE id = ? AND type='blood, blood'"
|
||||
"timestamp": "2023-10-17 14:30:00"] | "insert into indicators (id, type, values, timestamp) values ('bcbbcdb4-702c-11ee-9113-c0e4349366ab', 'Samples', 'fine', '2023-10-17 16:30:00')"
|
||||
| new IndicatorRepository(manager) || "SELECT type FROM indicators WHERE id = ? AND type='blood, blood'"
|
||||
"patient" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366bb",
|
||||
"name": "Oleh",
|
||||
"age": "21",
|
||||
"phone": "380123451234"] | "insert into patients values ('bcbbcdb4-702c-11ee-9113-c0e4349366bb', 'Maybe Oleh', 22, '380123451234')"
|
||||
| new PatientRepository(dbc) || "SELECT name FROM patients WHERE id = ? AND name='Oleh'"
|
||||
"phone": "380123451234"] | "insert into patients (id, name, age, phone) values ('bcbbcdb4-702c-11ee-9113-c0e4349366bb', 'Maybe Oleh', 22, '380123451234')"
|
||||
| new PatientRepository(manager) || "SELECT name FROM patients WHERE id = ? AND name='Oleh'"
|
||||
"department" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366cb",
|
||||
"name": "First department",
|
||||
"location": "Stepan Bandera Street",
|
||||
"phone": "380123451244"] | "insert into departments values ('bcbbcdb4-702c-11ee-9113-c0e4349366cb', 'Second department', 'Stepan Bandera Street', '380123451244')"
|
||||
| new DepartmentRepository(dbc) || "SELECT name FROM departments WHERE id = ? AND name='First department'"
|
||||
"phone": "380123451244"] | "insert into departments (id, name, location, phone) values ('bcbbcdb4-702c-11ee-9113-c0e4349366cb', 'Second department', 'Stepan Bandera Street', '380123451244')"
|
||||
| new DepartmentRepository(manager) || "SELECT name FROM departments WHERE id = ? AND name='First department'"
|
||||
}
|
||||
|
||||
def "Test delete commands"() {
|
||||
@@ -156,12 +152,12 @@ class CommandEntitySpec extends Specification {
|
||||
sql.execute("delete from " + datatype + "s")
|
||||
|
||||
where:
|
||||
datatype | values | fixture | repository || verifyStatement
|
||||
"indicator" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366ab"] | "insert into indicators values ('bcbbcdb4-702c-11ee-9113-c0e4349366ab', 'Samples', 'fine', '2023-10-17 16:30:00')"
|
||||
| new IndicatorRepository(dbc) || "SELECT type FROM indicators WHERE id = ?"
|
||||
"patient" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366bb"] | "insert into patients values ('bcbbcdb4-702c-11ee-9113-c0e4349366bb', 'Maybe Oleh', 22, '380123451234')"
|
||||
| new PatientRepository(dbc) || "SELECT name FROM patients WHERE id = ?"
|
||||
"department" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366cb"] | "insert into departments values ('bcbbcdb4-702c-11ee-9113-c0e4349366cb', 'Second department', 'Stepan Bandera Street', '380123451244')"
|
||||
| new DepartmentRepository(dbc) || "SELECT name FROM departments WHERE id = ?"
|
||||
datatype | values | fixture | repository || verifyStatement
|
||||
"indicator" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366ab"] | "insert into indicators (id, type, values, timestamp) values ('bcbbcdb4-702c-11ee-9113-c0e4349366ab', 'Samples', 'fine', '2023-10-17 16:30:00')"
|
||||
| new IndicatorRepository(manager) || "SELECT type FROM indicators WHERE id = ?"
|
||||
"patient" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366bb"] | "insert into patients (id, name, age, phone) values ('bcbbcdb4-702c-11ee-9113-c0e4349366bb', 'Maybe Oleh', 22, '380123451234')"
|
||||
| new PatientRepository(manager) || "SELECT name FROM patients WHERE id = ?"
|
||||
"department" | ["id": "bcbbcdb4-702c-11ee-9113-c0e4349366cb"] | "insert into departments (id, name, location, phone) values ('bcbbcdb4-702c-11ee-9113-c0e4349366cb', 'Second department', 'Stepan Bandera Street', '380123451244')"
|
||||
| new DepartmentRepository(manager) || "SELECT name FROM departments WHERE id = ?"
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package space.kklochko.jdbc_hospital_example.cli.validators
|
||||
package space.kklochko.jpa_hospital_example.cli.validators
|
||||
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Subject
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package space.kklochko.jdbc_hospital_example.cli.validators
|
||||
package space.kklochko.jpa_hospital_example.cli.validators
|
||||
|
||||
import space.kklochko.jdbc_hospital_example.cli.commands.CommandData
|
||||
import space.kklochko.jdbc_hospital_example.cli.parsers.CommandParser
|
||||
import space.kklochko.jpa_hospital_example.cli.commands.CommandData
|
||||
import space.kklochko.jpa_hospital_example.cli.parsers.CommandParser
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Subject
|
||||
|
||||
+18
-18
@@ -1,12 +1,13 @@
|
||||
package space.kklochko.jdbc_hospital_example.db.repositories
|
||||
package space.kklochko.jpa_hospital_example.db.repositories
|
||||
|
||||
import groovy.sql.Sql
|
||||
import space.kklochko.jdbc_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jdbc_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jdbc_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.CreateTables
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.TurnOnUUIDPlugin
|
||||
import space.kklochko.jdbc_hospital_example.models.Department
|
||||
import jakarta.persistence.EntityManager
|
||||
import org.junit.Ignore
|
||||
import space.kklochko.jpa_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jpa_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jpa_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jpa_hospital_example.db.factories.EntityManagerConnection
|
||||
import space.kklochko.jpa_hospital_example.models.Department
|
||||
import spock.lang.Shared
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Stepwise
|
||||
@@ -17,6 +18,9 @@ class DepartmentRepositorySpec extends Specification {
|
||||
@Shared
|
||||
Sql sql
|
||||
|
||||
@Shared
|
||||
EntityManager manager
|
||||
|
||||
@Shared
|
||||
DataBaseConfig db
|
||||
|
||||
@@ -27,15 +31,11 @@ class DepartmentRepositorySpec extends Specification {
|
||||
db = (new LoadDataBaseConfigFromEnvFile()).load("db.testing")
|
||||
dbc = new DataBaseConnection(db)
|
||||
|
||||
TurnOnUUIDPlugin turnOnUUIDPlugin = new TurnOnUUIDPlugin()
|
||||
turnOnUUIDPlugin.create(dbc)
|
||||
|
||||
CreateTables createTables = new CreateTables()
|
||||
createTables.create(dbc)
|
||||
manager = (new EntityManagerConnection("testing")).connect()
|
||||
|
||||
sql = Sql.newInstance(db.getUrl(), db.getProperties().get("user"), db.getProperties().get("password"))
|
||||
|
||||
sql.execute("insert into departments values " +
|
||||
sql.execute("insert into departments (id, name, location, phone) values " +
|
||||
"('bcbbcdb4-702c-11ee-9113-c0e4349366cb', 'First department', 'Stepan Bandera Street', '380123451244')," +
|
||||
"('becbafac-702c-11ee-9113-c0e4349366cb', 'Second department', 'Taras Shevchenko street', '380123451245')")
|
||||
|
||||
@@ -51,7 +51,7 @@ class DepartmentRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
DepartmentRepository repo = new DepartmentRepository(dbc)
|
||||
DepartmentRepository repo = new DepartmentRepository(manager)
|
||||
|
||||
when: "reading the entry"
|
||||
def result = repo.read(id)
|
||||
@@ -71,7 +71,7 @@ class DepartmentRepositorySpec extends Specification {
|
||||
def "Read all indicators"() {
|
||||
given: "I have a repo"
|
||||
@Subject
|
||||
DepartmentRepository repo = new DepartmentRepository(dbc)
|
||||
DepartmentRepository repo = new DepartmentRepository(manager)
|
||||
|
||||
when: "reading the entries"
|
||||
def result = repo.readAll()
|
||||
@@ -90,7 +90,7 @@ class DepartmentRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
DepartmentRepository repo = new DepartmentRepository(dbc)
|
||||
DepartmentRepository repo = new DepartmentRepository(manager)
|
||||
|
||||
when: "inserting the entry"
|
||||
def result = repo.create(department)
|
||||
@@ -111,7 +111,7 @@ class DepartmentRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
DepartmentRepository repo = new DepartmentRepository(dbc)
|
||||
DepartmentRepository repo = new DepartmentRepository(manager)
|
||||
|
||||
when: "updating the entry"
|
||||
def result = repo.update(department)
|
||||
@@ -134,7 +134,7 @@ class DepartmentRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
DepartmentRepository repo = new DepartmentRepository(dbc)
|
||||
DepartmentRepository repo = new DepartmentRepository(manager)
|
||||
|
||||
when: "deleting the entry"
|
||||
def result = repo.delete(id)
|
||||
+28
-22
@@ -1,25 +1,28 @@
|
||||
package space.kklochko.jdbc_hospital_example.db.repositories
|
||||
package space.kklochko.jpa_hospital_example.db.repositories
|
||||
|
||||
import groovy.sql.Sql
|
||||
import space.kklochko.jdbc_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jdbc_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jdbc_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.CreateTables
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.TurnOnUUIDPlugin
|
||||
import space.kklochko.jdbc_hospital_example.models.Indicator
|
||||
import jakarta.persistence.EntityManager
|
||||
import space.kklochko.jpa_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jpa_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jpa_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jpa_hospital_example.db.factories.EntityManagerConnection
|
||||
import space.kklochko.jpa_hospital_example.db.repositories.blocks.TransactionalClearTable
|
||||
import space.kklochko.jpa_hospital_example.models.Indicator
|
||||
import spock.lang.Shared
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Stepwise
|
||||
import spock.lang.Subject
|
||||
|
||||
import java.sql.Timestamp
|
||||
import java.util.UUID
|
||||
|
||||
@Stepwise
|
||||
class IndicatorRepositorySpec extends Specification {
|
||||
@Shared
|
||||
Sql sql
|
||||
|
||||
@Shared
|
||||
EntityManager manager
|
||||
|
||||
@Shared
|
||||
DataBaseConfig db
|
||||
|
||||
@@ -30,22 +33,19 @@ class IndicatorRepositorySpec extends Specification {
|
||||
db = (new LoadDataBaseConfigFromEnvFile()).load("db.testing")
|
||||
dbc = new DataBaseConnection(db)
|
||||
|
||||
TurnOnUUIDPlugin turnOnUUIDPlugin = new TurnOnUUIDPlugin()
|
||||
turnOnUUIDPlugin.create(dbc)
|
||||
|
||||
CreateTables createTables = new CreateTables()
|
||||
createTables.create(dbc)
|
||||
manager = (new EntityManagerConnection("testing")).connect()
|
||||
|
||||
sql = Sql.newInstance(db.getUrl(), db.getProperties().get("user"), db.getProperties().get("password"))
|
||||
|
||||
sql.execute("insert into indicators values " +
|
||||
sql.execute("insert into indicators (id, type, values, timestamp) values " +
|
||||
"('bcbbcdb4-702c-11ee-9113-c0e4349366ab', 'Samples', 'fine', '2023-10-17 16:30:00')," +
|
||||
"('becbafac-702c-11ee-9113-c0e4349366ab', 'Some samples', 'well', '2023-10-17 11:30:00')")
|
||||
|
||||
}
|
||||
|
||||
def cleanupSpec() {
|
||||
sql.execute("delete from indicators")
|
||||
//sql.execute("delete from indicators")
|
||||
(new TransactionalClearTable()).run(manager, "Indicator")
|
||||
}
|
||||
|
||||
def "Read one indicator"() {
|
||||
@@ -54,7 +54,7 @@ class IndicatorRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
IndicatorRepository repo = new IndicatorRepository(dbc)
|
||||
IndicatorRepository repo = new IndicatorRepository(manager)
|
||||
|
||||
when: "reading the entry"
|
||||
def result = repo.read(id)
|
||||
@@ -74,7 +74,7 @@ class IndicatorRepositorySpec extends Specification {
|
||||
def "Read all indicators"() {
|
||||
given: "I have a repo"
|
||||
@Subject
|
||||
IndicatorRepository repo = new IndicatorRepository(dbc)
|
||||
IndicatorRepository repo = new IndicatorRepository(manager)
|
||||
|
||||
when: "reading the entries"
|
||||
def result = repo.readAll()
|
||||
@@ -90,11 +90,12 @@ class IndicatorRepositorySpec extends Specification {
|
||||
def "Add one indicator"() {
|
||||
given: "I create an indicator"
|
||||
Timestamp timestamp = Timestamp.valueOf("2023-10-17 14:30:00")
|
||||
Indicator indicator = new Indicator("Blood", "Fine", timestamp)
|
||||
// Indicator indicator = new Indicator("Blood", "Fine", timestamp)
|
||||
indicator.setTimestamp(timestamp)
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
IndicatorRepository repo = new IndicatorRepository(dbc)
|
||||
IndicatorRepository repo = new IndicatorRepository(manager)
|
||||
|
||||
when: "inserting the entry"
|
||||
def result = repo.create(indicator)
|
||||
@@ -104,8 +105,13 @@ class IndicatorRepositorySpec extends Specification {
|
||||
indicator.id
|
||||
|
||||
and: "checking that the entry is added"
|
||||
def isExist = sql.firstRow("SELECT type, values, timestamp FROM indicators WHERE id = ?", indicator.id)
|
||||
def isExist = sql.firstRow("SELECT id, type, values, timestamp FROM indicators WHERE id = ?", indicator.id)
|
||||
isExist
|
||||
isExist.get("id") == indicator.id
|
||||
|
||||
where: "I have indicators"
|
||||
indicator << //[new Indicator("Blood", "Fine", null),
|
||||
[new Indicator(UUID.fromString("3b3f62f4-75b4-11ee-99cb-c0e4349366af"), "Blood", "Fine", null)]
|
||||
}
|
||||
|
||||
def "Update one indicator"() {
|
||||
@@ -116,7 +122,7 @@ class IndicatorRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
IndicatorRepository repo = new IndicatorRepository(dbc)
|
||||
IndicatorRepository repo = new IndicatorRepository(manager)
|
||||
|
||||
when: "updating the entry"
|
||||
def result = repo.update(indicator)
|
||||
@@ -139,7 +145,7 @@ class IndicatorRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
IndicatorRepository repo = new IndicatorRepository(dbc)
|
||||
IndicatorRepository repo = new IndicatorRepository(manager)
|
||||
|
||||
when: "deleting the entry"
|
||||
def result = repo.delete(id)
|
||||
+18
-18
@@ -1,12 +1,13 @@
|
||||
package space.kklochko.jdbc_hospital_example.db.repositories
|
||||
package space.kklochko.jpa_hospital_example.db.repositories
|
||||
|
||||
import groovy.sql.Sql
|
||||
import space.kklochko.jdbc_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jdbc_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jdbc_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.CreateTables
|
||||
import space.kklochko.jdbc_hospital_example.db.repositories.blocks.TurnOnUUIDPlugin
|
||||
import space.kklochko.jdbc_hospital_example.models.Patient
|
||||
import jakarta.persistence.EntityManager
|
||||
import org.junit.Ignore
|
||||
import space.kklochko.jpa_hospital_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.jpa_hospital_example.config.models.DataBaseConfig
|
||||
import space.kklochko.jpa_hospital_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.jpa_hospital_example.db.factories.EntityManagerConnection
|
||||
import space.kklochko.jpa_hospital_example.models.Patient
|
||||
import spock.lang.Shared
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Stepwise
|
||||
@@ -17,6 +18,9 @@ class PatientRepositorySpec extends Specification {
|
||||
@Shared
|
||||
Sql sql
|
||||
|
||||
@Shared
|
||||
EntityManager manager
|
||||
|
||||
@Shared
|
||||
DataBaseConfig db
|
||||
|
||||
@@ -27,15 +31,11 @@ class PatientRepositorySpec extends Specification {
|
||||
db = (new LoadDataBaseConfigFromEnvFile()).load("db.testing")
|
||||
dbc = new DataBaseConnection(db)
|
||||
|
||||
TurnOnUUIDPlugin turnOnUUIDPlugin = new TurnOnUUIDPlugin()
|
||||
turnOnUUIDPlugin.create(dbc)
|
||||
|
||||
CreateTables createTables = new CreateTables()
|
||||
createTables.create(dbc)
|
||||
manager = (new EntityManagerConnection("testing")).connect()
|
||||
|
||||
sql = Sql.newInstance(db.getUrl(), db.getProperties().get("user"), db.getProperties().get("password"))
|
||||
|
||||
sql.execute("insert into patients values " +
|
||||
sql.execute("insert into patients (id, name, age, phone) values " +
|
||||
"('bcbbcdb4-702c-11ee-9113-c0e4349366bb', 'Oleh', 21, '380123451234')," +
|
||||
"('becbafac-702c-11ee-9113-c0e4349366bb', 'Olga', 19, '380123451235')")
|
||||
}
|
||||
@@ -50,7 +50,7 @@ class PatientRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
PatientRepository repo = new PatientRepository(dbc)
|
||||
PatientRepository repo = new PatientRepository(manager)
|
||||
|
||||
when: "reading the entry"
|
||||
def result = repo.read(id)
|
||||
@@ -70,7 +70,7 @@ class PatientRepositorySpec extends Specification {
|
||||
def "Read all patients"() {
|
||||
given: "I have a repo"
|
||||
@Subject
|
||||
PatientRepository repo = new PatientRepository(dbc)
|
||||
PatientRepository repo = new PatientRepository(manager)
|
||||
|
||||
when: "reading the entries"
|
||||
def result = repo.readAll()
|
||||
@@ -89,7 +89,7 @@ class PatientRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
PatientRepository repo = new PatientRepository(dbc)
|
||||
PatientRepository repo = new PatientRepository(manager)
|
||||
|
||||
when: "inserting the entry"
|
||||
def result = repo.create(patient)
|
||||
@@ -111,7 +111,7 @@ class PatientRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
PatientRepository repo = new PatientRepository(dbc)
|
||||
PatientRepository repo = new PatientRepository(manager)
|
||||
|
||||
when: "updating the entry"
|
||||
def result = repo.update(patient)
|
||||
@@ -134,7 +134,7 @@ class PatientRepositorySpec extends Specification {
|
||||
|
||||
and: "I have a repo"
|
||||
@Subject
|
||||
PatientRepository repo = new PatientRepository(dbc)
|
||||
PatientRepository repo = new PatientRepository(manager)
|
||||
|
||||
when: "deleting the entry"
|
||||
def result = repo.delete(id)
|
||||
Reference in New Issue
Block a user