· 6 years ago · Dec 12, 2019, 10:26 PM
1/*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6package lapr.project.controller;
7
8import lapr.project.data.UserDB;
9import lapr.project.model.Company;
10import lapr.project.model.User;
11import static org.junit.jupiter.api.Assertions.assertEquals;
12import org.junit.jupiter.api.Test;
13
14import org.mockito.InjectMocks;
15import org.mockito.Mock;
16import static org.mockito.Mockito.when;
17import org.mockito.MockitoAnnotations;
18
19/**
20 *
21 * @author Pedro Rodrigues - (1140572@isep.ipp.pt)
22 */
23public class AddUserControllerTest {
24
25 @Mock
26 UserDB databaseMockUser;
27 @Mock
28 User user;
29
30 @InjectMocks
31 private AddUserController controller;
32
33 public AddUserControllerTest() {
34 Company company = new Company();
35 this.controller = new AddUserController(company);
36 this.user = new User();
37 MockitoAnnotations.initMocks(this);
38 }
39
40 /**
41 * Test of setDataCostumer method, of class AddUserController.
42 */
43 @Test
44 public void testSetDataCostumer() {
45 System.out.println("setDataCostumer");
46 Company company = new Company();
47 User expResult = new User();
48
49 String uemail = "lapr3@gmail.com";
50 String username = "testeSetData";
51 double weight = 1.5;
52 double averageSpeed = 70.5;
53
54 expResult.setUemail(uemail);
55 expResult.setUsername(username);
56 expResult.setWeight(weight);
57 expResult.setAverageSpeed(averageSpeed);
58 AddUserController instance = new AddUserController(company);
59 User result = instance.setDataUser(uemail, username, weight, averageSpeed);
60 assertEquals(expResult, result);
61
62 Company company2 = new Company();
63 company2.getUsersList().add(expResult);
64 AddUserController instance2 = new AddUserController(company2);
65 result = instance2.setDataUser(uemail, username, weight, averageSpeed);
66 expResult = null;
67 assertEquals(expResult, result);
68 }
69
70 /**
71 * Test of addCostumer method, of class AddUserController.
72 */
73 @Test
74 public void testAddCostumer() {
75 System.out.println("addCostumer");
76 this.user.setUemail("@isep.ipp.pt");
77 this.user.setUsername("username");
78 this.user.setWeight(1);
79 this.user.setAverageSpeed(1);
80 when(this.user.save()).thenReturn("added");
81 assertEquals(true, controller.addUser(this.user));
82 }
83
84 /**
85 * Test of checkEmail method, of class AddUserController.
86 */
87 @Test
88 public void testCheckEmail() {
89 System.out.println("checkEmail");
90 Company company = new Company();
91 String uemail = "@gmail.com";
92 AddUserController instance = new AddUserController(company);
93 boolean expResult = true;
94 boolean result = instance.checkEmail(uemail);
95 assertEquals(expResult, result);
96
97 uemail = "@hotmail.com";
98 expResult = true;
99 result = instance.checkEmail(uemail);
100 assertEquals(expResult, result);
101
102 uemail = "@isep.ipp.pt";
103 expResult = true;
104 result = instance.checkEmail(uemail);
105 assertEquals(expResult, result);
106
107 uemail = "@sjdadasd";
108 expResult = false;
109 result = instance.checkEmail(uemail);
110 assertEquals(expResult, result);
111 }
112
113 /**
114 * Test of checkWeightAndHeight method, of class AddUserController.
115 */
116 @Test
117 public void testCheckWeightAndHeight() {
118 System.out.println("checkWeightAndHeight");
119 Company company = new Company();
120 AddUserController instance = new AddUserController(company);
121 double value = 0.0;
122 boolean expResult = false;
123 boolean result = instance.checkWeight(value);
124 assertEquals(expResult, result);
125
126 value = -1.0;
127 expResult = false;
128 result = instance.checkWeight(value);
129 assertEquals(expResult, result);
130
131 value = 1.0;
132 expResult = true;
133 result = instance.checkWeight(value);
134 assertEquals(expResult, result);
135
136 }
137
138}