73 lines
2.7 KiB
Java
73 lines
2.7 KiB
Java
package endpoints;
|
||
|
||
import helpers.PropertyProvider;
|
||
import io.qameta.allure.Step;
|
||
import io.restassured.response.Response;
|
||
import io.restassured.specification.RequestSpecification;
|
||
import pojo.UserRequest;
|
||
|
||
import static io.restassured.RestAssured.given;
|
||
|
||
public class UserEndpoint {
|
||
private static final String ENDPOINT = PropertyProvider.getProperty("endpoint.user");
|
||
|
||
@Step("Создание запроса о информации пользователя")
|
||
public static UserRequest addUser() {
|
||
return UserRequest.builder()
|
||
.id(PropertyProvider.getProperty("test.id"))
|
||
.username(PropertyProvider.getProperty("test.username"))
|
||
.firstName(PropertyProvider.getProperty("test.firstname"))
|
||
.lastName(PropertyProvider.getProperty("test.lastname"))
|
||
.email(PropertyProvider.getProperty("test.email"))
|
||
.build();
|
||
}
|
||
|
||
@Step("Добавить информацию о пользователе и вернуть его ID")
|
||
public static Response addUserId(RequestSpecification spec, UserRequest userRequest) {
|
||
return given(spec)
|
||
.body(userRequest)
|
||
.when()
|
||
.post(ENDPOINT)
|
||
.then()
|
||
.statusCode(200)
|
||
.extract().response();
|
||
}
|
||
|
||
@Step("Получить информацию о текущем пользователе")
|
||
public static Response getUser(RequestSpecification spec) {
|
||
return given(spec)
|
||
.when()
|
||
.get(ENDPOINT);
|
||
}
|
||
|
||
@Step("Получить информацию о пользователе по ID: {userId}")
|
||
public static Response getUserById(RequestSpecification spec, String userId) {
|
||
return given(spec)
|
||
.pathParam("id", userId)
|
||
.when()
|
||
.get(ENDPOINT + "/{id}");
|
||
}
|
||
|
||
@Step("Обновить информацию о пользователе: {user}")
|
||
public static Response updateUser(RequestSpecification spec, UserRequest userRequest) {
|
||
return given(spec)
|
||
.body(userRequest)
|
||
.when()
|
||
.put(ENDPOINT);
|
||
}
|
||
|
||
@Step("Удалить текущего пользователя")
|
||
public static Response deleteUser(RequestSpecification spec) {
|
||
return given(spec)
|
||
.when()
|
||
.delete(ENDPOINT);
|
||
}
|
||
|
||
@Step("Удалить пользователя по ID: {userId}")
|
||
public static Response deleteUserById(RequestSpecification spec, String userId) {
|
||
return given(spec)
|
||
.pathParam("id", userId)
|
||
.when()
|
||
.delete(ENDPOINT + "/{id}");
|
||
}
|
||
}
|