Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import ui.jdbc.Jdbc;
import com.digitalsanctuary.spring.user.jdbc.Jdbc;

import static com.digitalsanctuary.spring.user.api.helper.ApiTestHelper.buildUrlEncodedFormEntity;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
Expand All @@ -27,19 +27,29 @@ public static void deleteTestUser() {
Jdbc.deleteTestUser(testUser);
}

/**
*
* @param argumentsHolder
* @throws Exception
* testing with three param: new user data, exist user data and invalid user data
*/
@ParameterizedTest
@ArgumentsSource(ApiTestRegistrationArgumentsProvider.class)
public void registerUserAccount(ApiTestRegistrationArgumentsHolder argumentsHolder) throws Exception {
testUser = argumentsHolder.getUserDto();
ResultActions action = perform(MockMvcRequestBuilders.post(URL)
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
.content(buildUrlEncodedFormEntity(testUser)));
if (argumentsHolder.getStatus() == ApiTestRegistrationArgumentsHolder.UserStatus.NEW) {

if (argumentsHolder.getStatus() == ApiTestRegistrationArgumentsHolder.DataStatus.NEW) {
action.andExpect(status().isOk());
}
if (argumentsHolder.getStatus() == ApiTestRegistrationArgumentsHolder.UserStatus.EXIST) {
if (argumentsHolder.getStatus() == ApiTestRegistrationArgumentsHolder.DataStatus.EXIST) {
action.andExpect(status().isConflict());
}
if (argumentsHolder.getStatus() == ApiTestRegistrationArgumentsHolder.DataStatus.INVALID) {
action.andExpect(status().is5xxServerError());
}

RegistrationResponse actual = JsonUtil.readValue(action.andReturn()
.getResponse().getContentAsString(), RegistrationResponse.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ public static UserDto getUserDto() {
return userDto;
}

public static UserDto getEmptyUserDto() {
return new UserDto();
}

public static RegistrationResponse successRegistration() {
return new RegistrationResponse(
true, 0,
Expand All @@ -28,4 +32,13 @@ public static RegistrationResponse userAlreadyExist() {
new String[]{"An account already exists for the email address"}, null
);
}

public static RegistrationResponse systemError() {
return new RegistrationResponse(
false, 5, null,
new String[]{"System Error!"}, null
);
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,18 @@

public class ApiTestRegistrationArgumentsHolder {

public enum UserStatus {
public enum DataStatus {
NEW,
EXIST
EXIST,
INVALID
}

private final UserDto userDto;
private final UserStatus status;
private final DataStatus status;
private final RegistrationResponse response;


public ApiTestRegistrationArgumentsHolder(UserDto userDto, UserStatus status, RegistrationResponse response) {
public ApiTestRegistrationArgumentsHolder(UserDto userDto, DataStatus status, RegistrationResponse response) {
this.userDto = userDto;
this.status = status;
this.response = response;
Expand All @@ -25,7 +26,7 @@ public UserDto getUserDto() {
return userDto;
}

public UserStatus getStatus() {
public DataStatus getStatus() {
return status;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,22 @@ public class ApiTestRegistrationArgumentsProvider implements ArgumentsProvider {
public Stream<? extends Arguments> provideArguments(ExtensionContext extensionContext) throws Exception {
return Stream.of(
new ApiTestRegistrationArgumentsHolder(
ApiTestData.getUserDto(),
ApiTestRegistrationArgumentsHolder.UserStatus.NEW,
ApiTestData.successRegistration()
ApiTestData.getEmptyUserDto(),
ApiTestRegistrationArgumentsHolder.DataStatus.INVALID,
ApiTestData.systemError()
),

new ApiTestRegistrationArgumentsHolder(
ApiTestData.getUserDto(),
ApiTestRegistrationArgumentsHolder.UserStatus.EXIST,
ApiTestData.userAlreadyExist()
)
ApiTestRegistrationArgumentsHolder.DataStatus.NEW,
ApiTestData.successRegistration()
),

new ApiTestRegistrationArgumentsHolder(
ApiTestData.getUserDto(),
ApiTestRegistrationArgumentsHolder.DataStatus.EXIST,
ApiTestData.userAlreadyExist()
)
).map(Arguments::of);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ui.jdbc;
package com.digitalsanctuary.spring.user.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package ui.jdbc;
package com.digitalsanctuary.spring.user.jdbc;

import com.digitalsanctuary.spring.user.dto.UserDto;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import static ui.data.UiTestData.TEST_USER_ENCODED_PASSWORD;
import static com.digitalsanctuary.spring.user.ui.data.UiTestData.TEST_USER_ENCODED_PASSWORD;

/**
* Using for delete/save user test data
Expand Down Expand Up @@ -53,7 +53,7 @@ public static void saveTestUser(UserDto userDto) {

private static void execute(Connection connection, String query, Object[] params) throws SQLException {
PreparedStatement statement = connection.prepareStatement(query);
for(int i = 0; i < params.length; i++) {
for(int i = 0; i < params.length; i ++) {
Object param = params[i];
if (param instanceof Integer) {
statement.setInt((i + 1), (Integer) param);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package ui;
package com.digitalsanctuary.spring.user.ui;

import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.Selenide;
import com.digitalsanctuary.spring.user.UserApplication;
import com.digitalsanctuary.spring.user.config.TestConfig;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
Expand Down Expand Up @@ -51,5 +49,4 @@ void setDriver(Driver driver) {
this.driver = driver;
}


}
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package ui;
package com.digitalsanctuary.spring.user.ui;


import com.digitalsanctuary.spring.user.dto.UserDto;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import ui.data.UiTestData;
import ui.jdbc.Jdbc;
import ui.page.LoginPage;
import ui.page.LoginSuccessPage;
import ui.page.RegisterPage;
import ui.page.SuccessRegisterPage;
import com.digitalsanctuary.spring.user.ui.data.UiTestData;
import com.digitalsanctuary.spring.user.jdbc.Jdbc;
import com.digitalsanctuary.spring.user.ui.page.LoginPage;
import com.digitalsanctuary.spring.user.ui.page.LoginSuccessPage;
import com.digitalsanctuary.spring.user.ui.page.RegisterPage;
import com.digitalsanctuary.spring.user.ui.page.SuccessRegisterPage;

import static ui.data.UiTestData.*;
import static com.digitalsanctuary.spring.user.ui.data.UiTestData.*;

public class SpringUserFrameworkUiTest extends BaseUiTest {

Expand Down Expand Up @@ -61,5 +61,4 @@ public void successSignIn() {
Assertions.assertTrue(welcomeMessage.contains(firstName));
}


}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ui.data;
package com.digitalsanctuary.spring.user.ui.data;

import com.digitalsanctuary.spring.user.dto.UserDto;
public class UiTestData {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ui.page;
package com.digitalsanctuary.spring.user.ui.page;

import com.codeborne.selenide.Selenide;
import com.codeborne.selenide.SelenideElement;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ui.page;
package com.digitalsanctuary.spring.user.ui.page;

import com.codeborne.selenide.ElementsCollection;
import com.codeborne.selenide.Selenide;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ui.page;
package com.digitalsanctuary.spring.user.ui.page;

import com.codeborne.selenide.Selenide;
import com.codeborne.selenide.SelenideElement;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ui.page;
package com.digitalsanctuary.spring.user.ui.page;

import com.codeborne.selenide.SelenideElement;

Expand Down