Skip to content
Snippets Groups Projects
Commit 7656f004 authored by David Hammond's avatar David Hammond
Browse files

improve code

parent 72b6f77b
Branches
Tags
No related merge requests found
package com.project.cms.complaint;
import com.project.cms.complaint.Complaint;
import com.project.cms.complaint.ComplaintService;
import com.project.cms.complaint.enums.ComplaintMethod;
import com.project.cms.complaint.enums.FCAType;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.security.core.Authentication;
import org.springframework.test.web.servlet.MvcResult;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@AutoConfigureMockMvc
public class AddComplaintsTests {
@Autowired
private ComplaintService complaintService;
@Autowired
private MockMvc mvc;
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void shouldAddOneEntryToDB() throws Exception{
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
Complaint complaint = new Complaint();
complaint.setTitle("title");
complaint.setPolicyNumber("user");
complaint.setComplaintMethod(ComplaintMethod.EMAIL);
complaint.setComplaintType(FCAType.FCA);
complaint.setComplaintStatus(Boolean.TRUE);
complaint.setTextBox("asdfasdfasfas");
int initialNumOfEntries = complaintService.getNumberOfComplaints(authentication);
complaintService.addComplaint(complaint,authentication);
int finalNumOfEntries = complaintService.getNumberOfComplaints(authentication);
assertTrue(finalNumOfEntries - initialNumOfEntries == 1 );
}
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void shouldNotUpdateDatabaseWithUnAuthenticatedUser() throws Exception{
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
authentication.setAuthenticated(false);
Complaint complaint = new Complaint();
complaint.setTitle("title");
complaint.setPolicyNumber("user");
complaint.setComplaintMethod(ComplaintMethod.EMAIL);
complaint.setComplaintType(FCAType.FCA);
complaint.setComplaintStatus(Boolean.TRUE);
complaint.setTextBox("asdfasdfasfas");
int initialNumOfEntries = complaintService.getNumberOfComplaints(authentication);
complaintService.addComplaint(complaint,authentication);
int finalNumOfEntries = complaintService.getNumberOfComplaints(authentication);
assertTrue(finalNumOfEntries == initialNumOfEntries );
}
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void shouldLoadCRSFToken() throws Exception{
MvcResult result = mvc
.perform(get("/complaint/form"))
.andExpect(status().isOk())
.andReturn();
String content = result.getResponse().getContentAsString();
System.out.println(content);
assertTrue(content.contains("value=\"${_csrf.token}\"/>"));
}
}
package com.project.cms.complaint;
import org.junit.jupiter.api.Test;
import org.springframework.web.servlet.ModelAndView;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class AddStaffTest {
// Mocked complaint controller, you should use your actual implementation or mock it using a testing framework
private ComplaintController complaintController = new ComplaintController(new ComplaintService(), new CommentService());
// Successfully adds a new staff member to the system and redirects to the appropriate complaint page
@Test
public void test_successfully_adds_new_staff_member() {
// Arrange
User user = new User(); // Assuming User class is defined
String accessLevel = "admin";
// Act
ModelAndView result = complaintController.addStaff(user, accessLevel);
// Assert
assertEquals("redirect:/admin/complaint", result.getViewName());
}
// Redirects to the appropriate complaint page even if the user object is empty
@Test
public void test_redirects_to_complaint_page_with_empty_user_object() {
// Arrange
User user = null;
String accessLevel = "admin";
// Act
ModelAndView result = complaintController.addStaff(user, accessLevel);
// Assert
assertEquals("redirect:/admin/complaint", result.getViewName());
}
// Returns an error page if the user object is null or incomplete
@Test
public void test_returns_error_page_with_null_or_incomplete_user_object() {
// Arrange
User user = new User(); // Assuming User class is defined
String accessLevel = "admin";
// Act
ModelAndView result = complaintController.addStaff(user, accessLevel);
// Assert
assertEquals("error", result.getViewName());
}
}
package com.project.cms.complaint;public class ComplaintTest {
}
package com.project.cms.complaint;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.util.StringUtils;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@AutoConfigureMockMvc
public class CustomerViewAllTests {
@Autowired
MockMvc mvc;
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void pageOneShouldHaveTenItems() throws Exception{
MvcResult result = mvc
.perform(get("/customer/complaint"))
.andExpect(status().isOk())
.andReturn();
String content = result.getResponse().getContentAsString();
int cards = StringUtils.countOccurrencesOf(content, "<div class=\"card my-1\" style=\"width: 36rem;\">");
assertEquals(10, cards);
}
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void pageTwoShouldHaveTwoItems() throws Exception{
MvcResult result = mvc
.perform(get("/customer/complaint?page=2"))
.andExpect(status().isOk())
.andReturn();
String content = result.getResponse().getContentAsString();
int cards = StringUtils.countOccurrencesOf(content, "<div class=\"card my-1\" style=\"width: 36rem;\">");
assertEquals(2, cards);
}
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void prevShouldBeInvisibleOnPageOne() throws Exception{
MvcResult result = mvc
.perform(get("/customer/complaint"))
.andExpect(status().isOk())
.andReturn();
String content = result.getResponse().getContentAsString();
assertTrue(content.contains("<a class=\"px-1 invisible\" href=\"/customer/complaint?page=0\">Prev</a>"));
}
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void nextShouldBeVisibleOnPageOne() throws Exception{
MvcResult result = mvc
.perform(get("/customer/complaint"))
.andExpect(status().isOk())
.andReturn();
String content = result.getResponse().getContentAsString();
assertTrue(content.contains("<a class=\"px-1\" href=\"/customer/complaint?page=2\">Next</a>"));
}
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void prevShouldBeVisibleOnPageTwo() throws Exception{
MvcResult result = mvc
.perform(get("/customer/complaint?page=2"))
.andExpect(status().isOk())
.andReturn();
String content = result.getResponse().getContentAsString();
assertTrue(content.contains("<a class=\"px-1\" href=\"/customer/complaint?page=1\">Prev</a>"));
}
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void nextShouldBeInvisibleOnPageTwo() throws Exception{
MvcResult result = mvc
.perform(get("/customer/complaint?page=2"))
.andExpect(status().isOk())
.andReturn();
String content = result.getResponse().getContentAsString();
assertTrue(content.contains("<a class=\"px-1 invisible\" href=\"/customer/complaint?page=3\">Next</a>"));
}
}
package com.project.cms.complaint;
import com.project.cms.complaint.Complaint;
import com.project.cms.complaint.ComplaintService;
import com.project.cms.complaint.enums.ComplaintMethod;
import com.project.cms.complaint.enums.FCAType;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.security.core.Authentication;
import org.springframework.test.web.servlet.MvcResult;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@AutoConfigureMockMvc
public class LinkComplaintTests {
@Autowired
private ComplaintService complaintService;
@Autowired
private MockMvc mvc;
@Test
@WithMockUser(username = "user", authorities = {"CUSTOMER"})
public void shouldAddOneLinkFromComplaint1toComplaint5() throws Exception{
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
}
}
package com.project.cms.notification;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.HashMap;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.*;
public class NotificationTest {
@Test
public void test_createNotificationWithRequiredParameters() {
Notification notification = new Notification(1, 2, "username", "message");
assertEquals(1, notification.getId());
assertEquals(2, notification.getCustomerId());
assertEquals("username", notification.getUsername());
assertEquals("message", notification.getNotificationMessage());
}
// Notification object can be created with optional parameters
@Test
public void test_createNotificationWithOptionalParameters() {
Notification notification = new Notification(1, 2, "message");
assertEquals(1, notification.getId());
assertEquals(2, notification.getCustomerId());
assertNull(notification.getStatus());
assertEquals("message", notification.getNotificationMessage());
}
// Notification object's properties can be accessed and modified using getters and setters
@Test
public void test_accessAndModifyProperties() {
Notification notification = new Notification(1, 2, "username", "message");
notification.setId(3);
notification.setCustomerId(4);
notification.setUsername("newUsername");
notification.setNotificationMessage("newMessage");
assertEquals(3, notification.getId());
assertEquals(4, notification.getCustomerId());
assertEquals("newUsername", notification.getUsername());
assertEquals("newMessage", notification.getNotificationMessage());
}
// Notification object can be created with null notification message
@Test
public void test_createNotificationWithNullMessage() {
Notification notification = new Notification(null);
assertNull(notification.getNotificationMessage());
}
// Notification object's status can be set to null
@Test
public void test_setStatusToNull() {
Notification notification = new Notification("message");
notification.setStatus(null);
assertNull(notification.getStatus());
}
// Notification object's ID can be set to negative value
@Test
public void test_setIdToNegativeValue() {
Notification notification = new Notification(1, 2, "username", "message");
notification.setId(-3);
assertEquals(-3, notification.getId());
}
}
\ No newline at end of file
package com.project.cms.staff;public class StaffControllerTest {
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment