|
6 | 6 | import ca.bc.gov.educ.api.trax.messaging.jetstream.Publisher;
|
7 | 7 | import ca.bc.gov.educ.api.trax.messaging.jetstream.Subscriber;
|
8 | 8 | import ca.bc.gov.educ.api.trax.model.dto.ResponseObj;
|
| 9 | +import ca.bc.gov.educ.api.trax.model.dto.institute.School; |
9 | 10 | import ca.bc.gov.educ.api.trax.model.dto.institute.SchoolCategoryCode;
|
10 | 11 | import ca.bc.gov.educ.api.trax.model.dto.institute.SchoolFundingGroupCode;
|
11 | 12 | import ca.bc.gov.educ.api.trax.model.entity.institute.SchoolCategoryCodeEntity;
|
|
17 | 18 | import ca.bc.gov.educ.api.trax.service.RESTService;
|
18 | 19 | import ca.bc.gov.educ.api.trax.util.EducGradTraxApiConstants;
|
19 | 20 | import ca.bc.gov.educ.api.trax.util.RestUtils;
|
| 21 | +import org.checkerframework.checker.nullness.Opt; |
20 | 22 | import org.junit.Test;
|
21 | 23 | import org.junit.jupiter.api.extension.ExtendWith;
|
22 | 24 | import org.junit.runner.RunWith;
|
|
42 | 44 | import java.util.ArrayList;
|
43 | 45 | import java.util.Arrays;
|
44 | 46 | import java.util.List;
|
| 47 | +import java.util.Optional; |
45 | 48 | import java.util.function.Consumer;
|
46 | 49 |
|
47 | 50 | import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
@@ -164,6 +167,87 @@ public void whenGetSchoolCategoryCodesFromInstituteApi_returnsListOfSchoolCatego
|
164 | 167 | assertDoesNotThrow(() -> codeService.loadSchoolCategoryCodesFromInstituteApiIntoRedisCacheAsync());
|
165 | 168 | }
|
166 | 169 |
|
| 170 | + @Test |
| 171 | + public void whenGetSchoolCategoryCodeFromRedisCache_returnSchoolCategoryCode() { |
| 172 | + SchoolCategoryCodeEntity scce = new SchoolCategoryCodeEntity(); |
| 173 | + List<SchoolCategoryCodeEntity> scces = new ArrayList<SchoolCategoryCodeEntity>(); |
| 174 | + scce.setSchoolCategoryCode("SCC1"); |
| 175 | + scce.setLabel("SCC1-label"); |
| 176 | + scces.add(scce); |
| 177 | + scce = new SchoolCategoryCodeEntity(); |
| 178 | + scce.setSchoolCategoryCode("SCC2"); |
| 179 | + scce.setLabel("SCC2-label"); |
| 180 | + scces.add(scce); |
| 181 | + |
| 182 | + SchoolCategoryCode scc = new SchoolCategoryCode(); |
| 183 | + List<SchoolCategoryCode> sccs = new ArrayList<SchoolCategoryCode>(); |
| 184 | + scc.setSchoolCategoryCode("SCC1"); |
| 185 | + scc.setLabel("SCC1-label"); |
| 186 | + scc.setDescription("Desc"); |
| 187 | + scc.setLegacyCode("SCC1-legacy"); |
| 188 | + scc.setDisplayOrder("10"); |
| 189 | + scc.setEffectiveDate("01-01-2024"); |
| 190 | + scc.setExpiryDate("01-01-2024"); |
| 191 | + sccs.add(scc); |
| 192 | + scc = new SchoolCategoryCode(); |
| 193 | + scc.setSchoolCategoryCode("SCC2"); |
| 194 | + scc.setLabel("SCC2-label"); |
| 195 | + scc.setDescription("Desc"); |
| 196 | + scc.setLegacyCode("SCC2-legacy"); |
| 197 | + scc.setDisplayOrder("20"); |
| 198 | + scc.setEffectiveDate("01-01-2024"); |
| 199 | + scc.setExpiryDate("01-01-2024"); |
| 200 | + sccs.add(scc); |
| 201 | + |
| 202 | + when(this.schoolCategoryCodeRedisRepository.findById("SCC1")) |
| 203 | + .thenReturn(Optional.of(scce)); |
| 204 | + assertNotNull(codeService.getSchoolCategoryCodeFromRedisCache("SCC1")); |
| 205 | + } |
| 206 | + |
| 207 | + @Test |
| 208 | + public void whenGetSchoolCategoryCodeFromRedisCache_NotFound_returnSchoolCategoryCode() { |
| 209 | + SchoolCategoryCodeEntity scce = new SchoolCategoryCodeEntity(); |
| 210 | + List<SchoolCategoryCodeEntity> scces = new ArrayList<SchoolCategoryCodeEntity>(); |
| 211 | + scce.setSchoolCategoryCode("SCC1"); |
| 212 | + scce.setLabel("SCC1-label"); |
| 213 | + scces.add(scce); |
| 214 | + scce = new SchoolCategoryCodeEntity(); |
| 215 | + scce.setSchoolCategoryCode("SCC2"); |
| 216 | + scce.setLabel("SCC2-label"); |
| 217 | + scces.add(scce); |
| 218 | + |
| 219 | + SchoolCategoryCode scc = new SchoolCategoryCode(); |
| 220 | + List<SchoolCategoryCode> sccs = new ArrayList<SchoolCategoryCode>(); |
| 221 | + scc.setSchoolCategoryCode("SCC1"); |
| 222 | + scc.setLabel("SCC1-label"); |
| 223 | + scc.setDescription("Desc"); |
| 224 | + scc.setLegacyCode("SCC1-legacy"); |
| 225 | + scc.setDisplayOrder("10"); |
| 226 | + scc.setEffectiveDate("01-01-2024"); |
| 227 | + scc.setExpiryDate("01-01-2024"); |
| 228 | + sccs.add(scc); |
| 229 | + scc = new SchoolCategoryCode(); |
| 230 | + scc.setSchoolCategoryCode("SCC2"); |
| 231 | + scc.setLabel("SCC2-label"); |
| 232 | + scc.setDescription("Desc"); |
| 233 | + scc.setLegacyCode("SCC2-legacy"); |
| 234 | + scc.setDisplayOrder("20"); |
| 235 | + scc.setEffectiveDate("01-01-2024"); |
| 236 | + scc.setExpiryDate("01-01-2024"); |
| 237 | + sccs.add(scc); |
| 238 | + |
| 239 | + when(restServiceMock.get(constants.getAllSchoolCategoryCodesFromInstituteApiUrl(), List.class, instWebClient)).thenReturn(scces); |
| 240 | + when(schoolCategoryCodeTransformer.transformToDTO(scces)) |
| 241 | + .thenReturn(sccs); |
| 242 | + List<SchoolCategoryCode> result = codeService.getSchoolCategoryCodesFromInstituteApi(); |
| 243 | + assertNotNull(result); |
| 244 | + assertDoesNotThrow(() -> codeService.loadSchoolCategoryCodesFromInstituteApiIntoRedisCacheAsync()); |
| 245 | + |
| 246 | + when(this.schoolCategoryCodeRedisRepository.findById("SCC1")) |
| 247 | + .thenReturn(Optional.empty()); |
| 248 | + assertNotNull(codeService.getSchoolCategoryCodeFromRedisCache("SCC1")); |
| 249 | + } |
| 250 | + |
167 | 251 | @Test
|
168 | 252 | public void whenGetSchoolFundingGroupCodesFromInstituteApi_returnsListOfSchoolFundingGroupCode() {
|
169 | 253 | List<SchoolFundingGroupCodeEntity> schoolFundingGroupCodes = new ArrayList<>();
|
|
0 commit comments