58 lines
1.8 KiB
Java
58 lines
1.8 KiB
Java
package pl.edu.amu.wmi.bookapi.Integration.api;
|
|
|
|
import com.fasterxml.jackson.databind.*;
|
|
import org.junit.*;
|
|
import org.junit.jupiter.api.*;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.springframework.beans.factory.annotation.*;
|
|
import org.springframework.boot.test.autoconfigure.web.servlet.*;
|
|
import org.springframework.boot.test.context.*;
|
|
import org.springframework.data.mongodb.core.*;
|
|
import org.springframework.test.web.servlet.*;
|
|
import pl.edu.amu.wmi.bookapi.fixtures.*;
|
|
import pl.edu.amu.wmi.bookapi.fixtures.api.*;
|
|
import pl.edu.amu.wmi.bookapi.models.UserDocument;
|
|
|
|
import static org.junit.Assert.*;
|
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
|
|
|
@SpringBootTest
|
|
@AutoConfigureMockMvc
|
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
|
public class UserControllerInt{
|
|
|
|
@Autowired
|
|
MongoTemplate mongoTemplate;
|
|
|
|
@Autowired
|
|
MockMvc mvc;
|
|
|
|
@Autowired
|
|
IntegrationTestUtil testUtil;
|
|
|
|
private UserControllerRequests userRequests;
|
|
|
|
|
|
@BeforeEach
|
|
void cleanCollections() {
|
|
this.userRequests = new UserControllerRequests(mvc, new ObjectMapper());
|
|
testUtil.cleanCollections();
|
|
}
|
|
|
|
@Test
|
|
void should_register_new_user() throws Exception {
|
|
userRequests.registerUser("Abc", "def")
|
|
.andExpect(status().isOk());
|
|
assertEquals(mongoTemplate.findAll(UserDocument.class).size(), 1);
|
|
}
|
|
|
|
@Test
|
|
void user_should_not_be_able_to_create_account_with_already_existing_login() throws Exception {
|
|
userRequests.registerUser("a", "def")
|
|
.andExpect(status().isOk());
|
|
userRequests.registerUser("a", "fed")
|
|
.andExpect(status().is4xxClientError());
|
|
assertEquals(mongoTemplate.findAll(UserDocument.class).size(), 1);
|
|
}
|
|
}
|