From a1027173388e26e084b48c906d64c97c0603c259 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Mon, 6 Nov 2023 21:48:00 +0200 Subject: [PATCH] Migrate the tests. --- .../cli/commands/CommandEntitySpec.groovy | 74 +++++++++---------- .../validators/CommandValidatorSpec.groovy | 2 +- .../InputStringFormatValidatorSpec.groovy | 6 +- .../DepartmentRepositorySpec.groovy | 36 ++++----- .../IndicatorRepositorySpec.groovy | 50 +++++++------ .../repositories/PatientRepositorySpec.groovy | 36 ++++----- 6 files changed, 103 insertions(+), 101 deletions(-) rename src/test/groovy/space/kklochko/{jdbc_hospital_example => jpa_hospital_example}/cli/commands/CommandEntitySpec.groovy (64%) rename src/test/groovy/space/kklochko/{jdbc_hospital_example => jpa_hospital_example}/cli/validators/CommandValidatorSpec.groovy (95%) rename src/test/groovy/space/kklochko/{jdbc_hospital_example => jpa_hospital_example}/cli/validators/InputStringFormatValidatorSpec.groovy (85%) rename src/test/groovy/space/kklochko/{jdbc_hospital_example => jpa_hospital_example}/db/repositories/DepartmentRepositorySpec.groovy (78%) rename src/test/groovy/space/kklochko/{jdbc_hospital_example => jpa_hospital_example}/db/repositories/IndicatorRepositorySpec.groovy (68%) rename src/test/groovy/space/kklochko/{jdbc_hospital_example => jpa_hospital_example}/db/repositories/PatientRepositorySpec.groovy (77%) diff --git a/src/test/groovy/space/kklochko/jdbc_hospital_example/cli/commands/CommandEntitySpec.groovy b/src/test/groovy/space/kklochko/jpa_hospital_example/cli/commands/CommandEntitySpec.groovy similarity index 64% rename from src/test/groovy/space/kklochko/jdbc_hospital_example/cli/commands/CommandEntitySpec.groovy rename to src/test/groovy/space/kklochko/jpa_hospital_example/cli/commands/CommandEntitySpec.groovy index d660488..3ffae69 100644 --- a/src/test/groovy/space/kklochko/jdbc_hospital_example/cli/commands/CommandEntitySpec.groovy +++ b/src/test/groovy/space/kklochko/jpa_hospital_example/cli/commands/CommandEntitySpec.groovy @@ -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 = ?" } } diff --git a/src/test/groovy/space/kklochko/jdbc_hospital_example/cli/validators/CommandValidatorSpec.groovy b/src/test/groovy/space/kklochko/jpa_hospital_example/cli/validators/CommandValidatorSpec.groovy similarity index 95% rename from src/test/groovy/space/kklochko/jdbc_hospital_example/cli/validators/CommandValidatorSpec.groovy rename to src/test/groovy/space/kklochko/jpa_hospital_example/cli/validators/CommandValidatorSpec.groovy index 2a2867d..cb16e40 100644 --- a/src/test/groovy/space/kklochko/jdbc_hospital_example/cli/validators/CommandValidatorSpec.groovy +++ b/src/test/groovy/space/kklochko/jpa_hospital_example/cli/validators/CommandValidatorSpec.groovy @@ -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 diff --git a/src/test/groovy/space/kklochko/jdbc_hospital_example/cli/validators/InputStringFormatValidatorSpec.groovy b/src/test/groovy/space/kklochko/jpa_hospital_example/cli/validators/InputStringFormatValidatorSpec.groovy similarity index 85% rename from src/test/groovy/space/kklochko/jdbc_hospital_example/cli/validators/InputStringFormatValidatorSpec.groovy rename to src/test/groovy/space/kklochko/jpa_hospital_example/cli/validators/InputStringFormatValidatorSpec.groovy index 064b25f..a4ca103 100644 --- a/src/test/groovy/space/kklochko/jdbc_hospital_example/cli/validators/InputStringFormatValidatorSpec.groovy +++ b/src/test/groovy/space/kklochko/jpa_hospital_example/cli/validators/InputStringFormatValidatorSpec.groovy @@ -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 diff --git a/src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/DepartmentRepositorySpec.groovy b/src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/DepartmentRepositorySpec.groovy similarity index 78% rename from src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/DepartmentRepositorySpec.groovy rename to src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/DepartmentRepositorySpec.groovy index 5f23524..2fcc983 100644 --- a/src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/DepartmentRepositorySpec.groovy +++ b/src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/DepartmentRepositorySpec.groovy @@ -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) diff --git a/src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/IndicatorRepositorySpec.groovy b/src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/IndicatorRepositorySpec.groovy similarity index 68% rename from src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/IndicatorRepositorySpec.groovy rename to src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/IndicatorRepositorySpec.groovy index ea1230f..bd37aa5 100644 --- a/src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/IndicatorRepositorySpec.groovy +++ b/src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/IndicatorRepositorySpec.groovy @@ -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) diff --git a/src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/PatientRepositorySpec.groovy b/src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/PatientRepositorySpec.groovy similarity index 77% rename from src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/PatientRepositorySpec.groovy rename to src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/PatientRepositorySpec.groovy index 231a9c0..779a7b5 100644 --- a/src/test/groovy/space/kklochko/jdbc_hospital_example/db/repositories/PatientRepositorySpec.groovy +++ b/src/test/groovy/space/kklochko/jpa_hospital_example/db/repositories/PatientRepositorySpec.groovy @@ -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)