feat: manage teachers from platform admin
parent
c9484ae88d
commit
c2b03be5ef
@ -0,0 +1,47 @@
|
||||
package com.sztzjy.linkCommerce.controller.platformadmin;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class PlatformAdminControllerTest {
|
||||
|
||||
@Test
|
||||
void exposesPlatformTeacherManagementEndpoints() {
|
||||
assertTrue(hasGet("/teachers"), "Platform admin must expose teacher list endpoint");
|
||||
assertTrue(hasGet("/teachers/{id}"), "Platform admin must expose teacher detail endpoint");
|
||||
assertTrue(hasPost("/teachers"), "Platform admin must expose teacher create endpoint");
|
||||
assertTrue(hasPut("/teachers/{id}"), "Platform admin must expose teacher update endpoint");
|
||||
assertTrue(hasDelete("/teachers/{id}"), "Platform admin must expose teacher delete endpoint");
|
||||
}
|
||||
|
||||
private boolean hasGet(String path) {
|
||||
return Arrays.stream(PlatformAdminController.class.getDeclaredMethods())
|
||||
.anyMatch(method -> method.isAnnotationPresent(GetMapping.class)
|
||||
&& Arrays.asList(method.getAnnotation(GetMapping.class).value()).contains(path));
|
||||
}
|
||||
|
||||
private boolean hasPost(String path) {
|
||||
return Arrays.stream(PlatformAdminController.class.getDeclaredMethods())
|
||||
.anyMatch(method -> method.isAnnotationPresent(PostMapping.class)
|
||||
&& Arrays.asList(method.getAnnotation(PostMapping.class).value()).contains(path));
|
||||
}
|
||||
|
||||
private boolean hasPut(String path) {
|
||||
return Arrays.stream(PlatformAdminController.class.getDeclaredMethods())
|
||||
.anyMatch(method -> method.isAnnotationPresent(PutMapping.class)
|
||||
&& Arrays.asList(method.getAnnotation(PutMapping.class).value()).contains(path));
|
||||
}
|
||||
|
||||
private boolean hasDelete(String path) {
|
||||
return Arrays.stream(PlatformAdminController.class.getDeclaredMethods())
|
||||
.anyMatch(method -> method.isAnnotationPresent(DeleteMapping.class)
|
||||
&& Arrays.asList(method.getAnnotation(DeleteMapping.class).value()).contains(path));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue