Skip to content

Commit 33b042a

Browse files
committed
Added tests
1 parent 40e560e commit 33b042a

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package access.api;
2+
3+
import access.AbstractMailTest;
4+
import access.AccessCookieFilter;
5+
import access.model.Authority;
6+
import access.model.JoinRequest;
7+
import access.model.Language;
8+
import access.model.Organization;
9+
import access.model.OrganizationMembership;
10+
import access.model.User;
11+
import access.request.JoinRequestApproval;
12+
import access.request.JoinRequestForm;
13+
import com.fasterxml.jackson.core.JsonProcessingException;
14+
import io.restassured.common.mapper.TypeRef;
15+
import io.restassured.http.ContentType;
16+
import org.junit.jupiter.api.Test;
17+
import org.springframework.http.HttpStatus;
18+
19+
import java.util.Map;
20+
import java.util.Optional;
21+
22+
import static io.restassured.RestAssured.given;
23+
import static org.junit.jupiter.api.Assertions.*;
24+
25+
class UserControllerFeedbackTest extends AbstractMailTest {
26+
27+
@Test
28+
void feedback() throws JsonProcessingException {
29+
AccessCookieFilter accessCookieFilter = mockLoginFlow(GUEST_SUB);
30+
Map<String, String> body = Map.of("message", "improve");
31+
given()
32+
.when()
33+
.filter(accessCookieFilter.cookieFilter())
34+
.header(csrfHeader(accessCookieFilter))
35+
.accept(ContentType.JSON)
36+
.contentType(ContentType.JSON)
37+
.body(objectMapper.writeValueAsString(body))
38+
.post("/api/v1/users/feedback")
39+
.then()
40+
.statusCode(HttpStatus.OK.value());
41+
42+
String htmlContent = super.mailMessage().getHtmlContent();
43+
assertTrue(htmlContent.contains(body.get("message")));
44+
}
45+
46+
@Test
47+
void noFeedback() throws JsonProcessingException {
48+
AccessCookieFilter accessCookieFilter = mockLoginFlow(GUEST_SUB);
49+
Map<String, String> body = Map.of("message", "");
50+
given()
51+
.when()
52+
.filter(accessCookieFilter.cookieFilter())
53+
.header(csrfHeader(accessCookieFilter))
54+
.accept(ContentType.JSON)
55+
.contentType(ContentType.JSON)
56+
.body(objectMapper.writeValueAsString(body))
57+
.post("/api/v1/users/feedback")
58+
.then()
59+
.statusCode(HttpStatus.OK.value());
60+
61+
super.confirmNoMailMessages();
62+
}
63+
}

server/src/test/java/access/api/UserControllerTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import access.model.*;
77
import io.restassured.common.mapper.TypeRef;
88
import io.restassured.http.ContentType;
9+
import io.restassured.http.Headers;
910
import lombok.SneakyThrows;
1011
import org.junit.jupiter.api.Test;
1112
import org.springframework.data.domain.Sort;
@@ -175,6 +176,20 @@ void otherAllowed() {
175176
assertEquals(user.getName(), result.get("name"));
176177
}
177178

179+
@Test
180+
void login() {
181+
AccessCookieFilter accessCookieFilter = mockLoginFlow(GUEST_SUB);
182+
String location = given()
183+
.redirects().follow(false)
184+
.when()
185+
.filter(accessCookieFilter.cookieFilter())
186+
.accept(ContentType.JSON)
187+
.contentType(ContentType.JSON)
188+
.get("/api/v1/users/login")
189+
.getHeader("Location");
190+
assertEquals(location, "http://localhost:3002");
191+
}
192+
178193
@Test
179194
void otherNotAllowed() {
180195
AccessCookieFilter accessCookieFilter = mockLoginFlow(MANAGE_SUB);

0 commit comments

Comments
 (0)