Tesis 1.0.0
Loading...
Searching...
No Matches
SessionManagerTest.java
Go to the documentation of this file.
1package com.example.food_front.utils;
2
3import android.content.Context;
4import android.content.SharedPreferences;
5
6import org.junit.Before;
7import org.junit.Test;
8import org.junit.runner.RunWith;
9import org.mockito.Mock;
10import org.mockito.junit.MockitoJUnitRunner;
11
12import static org.junit.Assert.*;
13import static org.mockito.ArgumentMatchers.anyInt;
14import static org.mockito.ArgumentMatchers.anyString;
15import static org.mockito.ArgumentMatchers.eq;
16import static org.mockito.Mockito.verify;
17import static org.mockito.Mockito.when;
18
22@RunWith(MockitoJUnitRunner.class)
23public class SessionManagerTest {
24
25 private static final String PREF_NAME = "user_session";
26 private static final String KEY_TOKEN = "token";
27 private static final String KEY_EMAIL = "email";
28 private static final String KEY_LAST_INIT_POINT = "last_init_point";
29
30 @Mock
31 Context mockContext;
32
33 @Mock
34 Context mockAppContext;
35
36 @Mock
37 SharedPreferences mockSharedPreferences;
38
39 @Mock
40 SharedPreferences.Editor mockEditor;
41
42 private SessionManager sessionManager;
43
44 @Before
45 public void setUp() {
46 // Configurar el contexto mock
47 when(mockContext.getApplicationContext()).thenReturn(mockAppContext);
48 when(mockAppContext.getSharedPreferences(eq(PREF_NAME), anyInt())).thenReturn(mockSharedPreferences);
49 when(mockSharedPreferences.edit()).thenReturn(mockEditor);
50 when(mockEditor.putString(anyString(), anyString())).thenReturn(mockEditor);
51
52 // Crear la instancia de SessionManager con el contexto mock
53 sessionManager = new SessionManager(mockContext);
54 }
55
56 @Test
58 // Preparar
59 String testToken = "test_auth_token_12345";
60
61 // Ejecutar
62 sessionManager.saveToken(testToken);
63
64 // Verificar
65 verify(mockEditor).putString(KEY_TOKEN, testToken);
66 verify(mockEditor).apply();
67 }
68
69 @Test
71 // Preparar
72 String expectedToken = "saved_auth_token_12345";
73 when(mockSharedPreferences.getString(eq(KEY_TOKEN), eq(null))).thenReturn(expectedToken);
74
75 // Ejecutar
76 String actualToken = sessionManager.getToken();
77
78 // Verificar
79 assertEquals(expectedToken, actualToken);
80 }
81
82 @Test
84 // Preparar
85 String testEmail = "test@example.com";
86
87 // Ejecutar
88 sessionManager.saveEmail(testEmail);
89
90 // Verificar
91 verify(mockEditor).putString(KEY_EMAIL, testEmail);
92 verify(mockEditor).apply();
93 }
94
95 @Test
97 // Preparar
98 String expectedEmail = "user@example.com";
99 when(mockSharedPreferences.getString(eq(KEY_EMAIL), eq(null))).thenReturn(expectedEmail);
100
101 // Ejecutar
102 String actualEmail = sessionManager.getUserEmail();
103
104 // Verificar
105 assertEquals(expectedEmail, actualEmail);
106 }
107
108 @Test
110 // Preparar
111 String testInitPoint = "https://mercadopago.com/checkout/12345";
112
113 // Ejecutar
114 sessionManager.saveLastInitPoint(testInitPoint);
115
116 // Verificar
117 verify(mockEditor).putString(KEY_LAST_INIT_POINT, testInitPoint);
118 verify(mockEditor).apply();
119 }
120
121 @Test
123 // Ejecutar
124 sessionManager.clearSession();
125
126 // Verificar
127 verify(mockEditor).clear();
128 verify(mockEditor).apply();
129 }
130
131 @Test
133 // Ejecutar
134 sessionManager.logout();
135
136 // Verificar
137 verify(mockEditor).clear();
138 verify(mockEditor).apply();
139 }
140}