fix test data and related assertions

This commit is contained in:
Michael Hoennig 2025-02-26 09:13:14 +01:00
parent 512035b5b4
commit 52703d7b1d
4 changed files with 34 additions and 21 deletions

View File

@ -2,7 +2,7 @@
-- ============================================================================
--changeset michael.hoennig:hs-office-membership-TEST-DATA-GENERATOR endDelimiter:--//
--changeset michael.hoennig:hs-office-membership-TEST-DATA-GENERATOR runOnChange:true validCheckSum:ANY endDelimiter:--//
-- ----------------------------------------------------------------------------
/*
@ -11,7 +11,8 @@
create or replace procedure hs_office.membership_create_test_data(
forPartnerNumber numeric(5),
newMemberNumberSuffix char(2),
validity daterange)
newValidity daterange,
newStatus hs_office.HsOfficeMembershipStatus)
language plpgsql as $$
declare
relatedPartner hs_office.partner;
@ -21,24 +22,35 @@ begin
raise notice 'creating test Membership: M-% %', forPartnerNumber, newMemberNumberSuffix;
raise notice '- using partner (%): %', relatedPartner.uuid, relatedPartner;
insert
into hs_office.membership (uuid, partneruuid, memberNumberSuffix, validity, status)
values (uuid_generate_v4(), relatedPartner.uuid, newMemberNumberSuffix, validity, 'ACTIVE');
if not exists (select true
from hs_office.membership
where partneruuid = relatedPartner.uuid and memberNumberSuffix = newMemberNumberSuffix)
then
insert into hs_office.membership (uuid, partneruuid, memberNumberSuffix, validity, status)
values (uuid_generate_v4(), relatedPartner.uuid, newMemberNumberSuffix,
newValidity, newStatus);
else
update hs_office.membership
set memberNumberSuffix = newMemberNumberSuffix,
validity = newValidity,
status = newStatus
where partneruuid = relatedPartner.uuid;
end if;
end; $$;
--//
-- ============================================================================
--changeset michael.hoennig:hs-office-membership-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
--changeset michael.hoennig:hs-office-membership-TEST-DATA-GENERATION runOnChange:true validCheckSum:ANY context:!without-test-data endDelimiter:--//
-- ----------------------------------------------------------------------------
do language plpgsql $$
begin
call base.defineContext('creating Membership test-data', null, 'superuser-alex@hostsharing.net', 'rbac.global#global:ADMIN');
call hs_office.membership_create_test_data(10001, '01', daterange('20221001' , '20241231', '[)'));
call hs_office.membership_create_test_data(10002, '02', daterange('20221001' , '20251231', '[]'));
call hs_office.membership_create_test_data(10003, '03', daterange('20221001' , null, '[]'));
call hs_office.membership_create_test_data(10001, '01', daterange('20221001' , '20241231', '[)'), 'CANCELLED');
call hs_office.membership_create_test_data(10002, '02', daterange('20221001' , '20251231', '[]'), 'CANCELLED');
call hs_office.membership_create_test_data(10003, '03', daterange('20221001' , null, '[]'), 'ACTIVE');
end;
$$;
--//

View File

@ -37,6 +37,7 @@ import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.BEFORE_TE
@Tag("officeIntegrationTest")
@DataJpaTest(properties = {
"spring.datasource.url=jdbc:tc:postgresql:15.5-bookworm:///liquibaseMigrationTestTC",
"hsadminng.superuser=${HSADMINNG_SUPERUSER:import-superuser@hostsharing.net}",
"spring.liquibase.enabled=false" // @Sql should go first, Liquibase will be initialized programmatically
})
@DirtiesContext

View File

@ -87,7 +87,7 @@ class HsOfficeMembershipControllerAcceptanceTest extends ContextBasedTestWithCle
"memberNumberSuffix": "01",
"validFrom": "2022-10-01",
"validTo": "2024-12-30",
"status": "ACTIVE"
"status": "CANCELLED"
},
{
"partner": { "partnerNumber": "P-10002" },
@ -95,7 +95,7 @@ class HsOfficeMembershipControllerAcceptanceTest extends ContextBasedTestWithCle
"memberNumberSuffix": "02",
"validFrom": "2022-10-01",
"validTo": "2025-12-31",
"status": "ACTIVE"
"status": "CANCELLED"
},
{
"partner": { "partnerNumber": "P-10003" },
@ -134,7 +134,7 @@ class HsOfficeMembershipControllerAcceptanceTest extends ContextBasedTestWithCle
"memberNumberSuffix": "01",
"validFrom": "2022-10-01",
"validTo": "2024-12-30",
"status": "ACTIVE"
"status": "CANCELLED"
}
]
"""));
@ -162,7 +162,7 @@ class HsOfficeMembershipControllerAcceptanceTest extends ContextBasedTestWithCle
"memberNumberSuffix": "02",
"validFrom": "2022-10-01",
"validTo": "2025-12-31",
"status": "ACTIVE"
"status": "CANCELLED"
}
]
"""));
@ -240,7 +240,7 @@ class HsOfficeMembershipControllerAcceptanceTest extends ContextBasedTestWithCle
"memberNumberSuffix": "01",
"validFrom": "2022-10-01",
"validTo": "2024-12-30",
"status": "ACTIVE"
"status": "CANCELLED"
}
""")); // @formatter:on
}
@ -326,7 +326,7 @@ class HsOfficeMembershipControllerAcceptanceTest extends ContextBasedTestWithCle
.matches(mandate -> {
assertThat(mandate.getPartner().toShortString()).isEqualTo("P-10001");
assertThat(mandate.getMemberNumberSuffix()).isEqualTo(givenMembership.getMemberNumberSuffix());
assertThat(mandate.getValidity().asString()).isEqualTo("[2022-11-01,2026-01-01)");
assertThat(mandate.getValidity().asString()).isEqualTo("[2025-02-01,2026-01-01)");
assertThat(mandate.getStatus()).isEqualTo(CANCELLED);
return true;
});

View File

@ -191,8 +191,8 @@ class HsOfficeMembershipRepositoryIntegrationTest extends ContextBasedTestWithCl
// then
exactlyTheseMembershipsAreReturned(
result,
"Membership(M-1000101, P-10001, [2022-10-01,2024-12-31), ACTIVE)",
"Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), ACTIVE)",
"Membership(M-1000101, P-10001, [2022-10-01,2024-12-31), CANCELLED)",
"Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), CANCELLED)",
"Membership(M-1000303, P-10003, [2022-10-01,), ACTIVE)");
}
@ -208,7 +208,7 @@ class HsOfficeMembershipRepositoryIntegrationTest extends ContextBasedTestWithCl
// then
exactlyTheseMembershipsAreReturned(
result,
"Membership(M-1000101, P-10001, [2022-10-01,2024-12-31), ACTIVE)");
"Membership(M-1000101, P-10001, [2022-10-01,2024-12-31), CANCELLED)");
}
@Test
@ -223,7 +223,7 @@ class HsOfficeMembershipRepositoryIntegrationTest extends ContextBasedTestWithCl
assertThat(result)
.isNotNull()
.extracting(Object::toString)
.isEqualTo("Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), ACTIVE)");
.isEqualTo("Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), CANCELLED)");
}
@Test
@ -238,7 +238,7 @@ class HsOfficeMembershipRepositoryIntegrationTest extends ContextBasedTestWithCl
assertThat(result)
.isNotNull()
.extracting(Object::toString)
.isEqualTo("Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), ACTIVE)");
.isEqualTo("Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), CANCELLED)");
}
@Test
@ -252,7 +252,7 @@ class HsOfficeMembershipRepositoryIntegrationTest extends ContextBasedTestWithCl
// then
exactlyTheseMembershipsAreReturned(
result,
"Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), ACTIVE)");
"Membership(M-1000202, P-10002, [2022-10-01,2026-01-01), CANCELLED)");
}
}