1
00:00:00,150 --> 00:00:00,780
Continuemos.

2
00:00:00,840 --> 00:00:05,610
Veamos otro ejemplo guardar el examen con sus preguntas, pero tenemos que modificar un poco nuestras

3
00:00:05,610 --> 00:00:10,710
interfaces, agregar algunos métodos del contrato de implementación, por ejemplo, método, guardar

4
00:00:10,860 --> 00:00:16,560
en el repositorio examen y guardar preguntas, varias preguntas del examen en el repositorio preguntas.

5
00:00:16,680 --> 00:00:22,950
Entonces nos vamos a ir con control TAB primero a la interfaz repositorio de examen examen repositorio.

6
00:00:23,370 --> 00:00:30,150
Esta de acá va a devolver un tipo examen el examen que se guardó por ejemplo en la base dato en alguna

7
00:00:30,150 --> 00:00:33,420
tabla, en algún lugar que contenga una llave foránea.

8
00:00:33,540 --> 00:00:40,350
La idea que guardemos un objeto, un examen con los datos se persiste en la tabla y devuelve este mismo

9
00:00:40,350 --> 00:00:48,930
objeto examen pero con el Heidy, con el Heidy de registro de la tabla de la auto examen guardar y pasamos

10
00:00:48,930 --> 00:00:49,440
el examen.

11
00:00:49,800 --> 00:00:53,250
El examen que queremos guardar está molesto.

12
00:00:53,340 --> 00:00:55,890
Lo siguiente lo mismo, pero en preguntas.

13
00:00:56,250 --> 00:01:01,170
Entonces nos vamos a ir a pregunta repositorio bajamos voy.

14
00:01:01,350 --> 00:01:04,260
Realmente guardamos la pregunta del examen no devuelve nada.

15
00:01:05,280 --> 00:01:14,490
Guardar varias un list de preguntas, pero la pregunta la tenemos como del tipo string.

16
00:01:14,730 --> 00:01:15,260
Perfecto.

17
00:01:15,270 --> 00:01:15,900
Preguntas.

18
00:01:17,670 --> 00:01:18,300
Estamos listo.

19
00:01:18,660 --> 00:01:24,360
Lo siguiente implementar el contrato en la interfaz cérvix también acá examen servis lo mismo.

20
00:01:24,360 --> 00:01:26,190
Guardar examen devuelve un examen

21
00:01:31,650 --> 00:01:32,110
perfecto.

22
00:01:32,430 --> 00:01:36,810
Tenemos debiese marcarlo un error en la implementación del examen del service.

23
00:01:37,320 --> 00:01:39,840
Entonces nos vamos a ir a service a en pie.

24
00:01:39,840 --> 00:01:44,910
El examen servis en piel por acá se fijan acá marca el error.

25
00:01:45,060 --> 00:01:48,690
Entonces tenemos que agregar este método sobre el error.

26
00:01:48,840 --> 00:01:50,010
Implementamos el método.

27
00:01:52,050 --> 00:01:54,960
Guardar OK de que la implementamos.

28
00:01:55,320 --> 00:02:00,450
Bueno, primero vamos a guardar la pregunta mediante el repositorio de preguntas, pero tengo que preguntar

29
00:02:00,510 --> 00:02:02,760
si el examen contiene preguntas.

30
00:02:02,850 --> 00:02:06,390
Entonces con un if examen el examen que estaba guardando?

31
00:02:06,480 --> 00:02:11,660
Punto g preguntas punto is empty.

32
00:02:11,880 --> 00:02:12,720
Si está vacío.

33
00:02:13,560 --> 00:02:14,870
Si esto es igual a false.

34
00:02:15,000 --> 00:02:17,430
Así que pueden colocar igual igual a fols.

35
00:02:17,550 --> 00:02:18,990
O simplemente lo negamos.

36
00:02:19,080 --> 00:02:22,800
Para eso nos vamos acá en el IF con el cine reclamacion por acá.

37
00:02:22,980 --> 00:02:26,850
Entonces al comienzo del if sin exclamación.

38
00:02:26,940 --> 00:02:29,010
Si es distinto a que esté vacío.

39
00:02:30,390 --> 00:02:33,690
O de otra forma, invocar el Zeus que se alegre de cero.

40
00:02:33,810 --> 00:02:38,460
En el fondo, esto es, si contiene elementos, si no tiene elementos, si no es vacío, perfecto.

41
00:02:38,730 --> 00:02:40,110
Pregunta Repositorio

42
00:02:42,420 --> 00:02:51,180
punto warfare varias se guardar varia y qué pasamos las preguntas examen con el que tiene preguntas.

43
00:02:51,280 --> 00:02:54,780
En qué preguntas le mandamos a guardar al otro repositorio?

44
00:02:54,900 --> 00:03:00,340
Y recuerden, ese otro repositorio podría ser cualquier fuente de datos, cualquier source, ya sea

45
00:03:00,340 --> 00:03:01,560
anotarla el acetato.

46
00:03:01,680 --> 00:03:07,470
Y lo mismo puede ser incluso con Mongo DB no se cuele o Mocoa a SQL transaccional da lo mismo.

47
00:03:07,590 --> 00:03:14,070
O incluso podría ser un repositorio que se comunica o un cliente http que se comunica a otro servicio

48
00:03:14,130 --> 00:03:18,330
externo a una API rest y de ahí a enviar los datos para guardar en otro servidor.

49
00:03:18,450 --> 00:03:21,600
También podríamos tener un sistema de micro servicios, por ejemplo.

50
00:03:21,690 --> 00:03:25,590
Bueno, creo que esto ya lo he dicho bastante, pero siempre es bueno recordar bien.

51
00:03:25,680 --> 00:03:28,800
Y en el ratón super simple a quitar el null.

52
00:03:29,460 --> 00:03:39,480
Examen repositorio punto guardar examen de fican guarda y devuelve el examen que está persistido en

53
00:03:39,480 --> 00:03:42,360
la acepto que sea insertado con el Heidy.

54
00:03:42,660 --> 00:03:43,440
Esto es importante.

55
00:03:43,620 --> 00:03:46,620
Ahora se que si estamos listos se que nos vamos a ir a la clase test.

56
00:03:48,300 --> 00:03:49,860
Vamos a agregar un nuevo método.

57
00:03:51,060 --> 00:03:58,290
Bajamos por acá otro método, por ejemplo inser método guardar examen,

58
00:04:01,290 --> 00:04:05,760
incluso colocar texto test o prueba guardar examen.

59
00:04:06,030 --> 00:04:09,030
Bajamos entonces partamos primero con el güen.

60
00:04:09,780 --> 00:04:19,830
Entonces wenn cuando se invoque del repository o del examen repositorio punto guardar el qué tengo que

61
00:04:19,830 --> 00:04:27,090
pasar datos de ejemplo, pero vamos a partir primero con Henny ese con cualquier tipo examen y dentro

62
00:04:27,090 --> 00:04:30,580
del Henny examen punto.

63
00:04:31,560 --> 00:04:36,810
Es decir, estamos diciendo que cuando se invoque el guardar del repositorio de examen y pasemos cualquier

64
00:04:36,810 --> 00:04:40,830
tipo examen, cualquier instancia, objeto de examen, vamos a devolver por acá.

65
00:04:40,860 --> 00:04:45,410
Entonces ratón de ratón, un nuevo cemen llega.

66
00:04:45,420 --> 00:04:48,450
Tenemos que tener un dato de ejemplo, un dato de prueba.

67
00:04:48,630 --> 00:04:50,730
Podríamos utilizar la clase datos, se acuerdan?

68
00:04:51,540 --> 00:04:52,560
Nos vamos a ir a datos.

69
00:04:55,260 --> 00:05:09,240
Una constante bajamos un public final static examen examen la cacería en singular un solo examen.

70
00:05:09,360 --> 00:05:17,990
A diferencia de exámenes que es una lista igual new examen con cualquier dato ejemplo por ejemplo 8

71
00:05:18,180 --> 00:05:20,610
l coma.

72
00:05:20,700 --> 00:05:23,760
Es decir, el Heidy lleva un nombre fìsica.

73
00:05:26,470 --> 00:05:27,130
Ahí lo tenemos.

74
00:05:27,310 --> 00:05:33,460
Volvemos al examen, texto, datos, punto de examen.

75
00:05:34,530 --> 00:05:38,860
Perfecto, entonces, cuando guardemos cualquier tipo de examen, lo que sea, cualquier instancia,

76
00:05:38,950 --> 00:05:44,470
entonces va a volver el examen con ejemplo con el Heidy 8 física lo vamos a llamar.

77
00:05:44,620 --> 00:05:48,310
Entonces el examen servis devuelve un examen

78
00:05:50,800 --> 00:05:57,520
examen igual servis punto porque están en served punto guardar.

79
00:05:59,330 --> 00:06:01,370
Un dato ejemplo, datos, examen.

80
00:06:01,490 --> 00:06:03,200
Vamos a guardar también datos.

81
00:06:03,640 --> 00:06:04,790
Todo lo mismo podría ser cualquiera.

82
00:06:04,880 --> 00:06:12,050
Datos, exámenes, examen, devices, devolver este daka que en realidad el mismo se fijan.

83
00:06:12,080 --> 00:06:15,500
Acá tengo devolviendo datos, punto, examen de física.

84
00:06:15,740 --> 00:06:16,750
Y acá estamos guardando este.

85
00:06:17,210 --> 00:06:25,370
Entonces podríamos probar hacer primero nul examen punto g taide.

86
00:06:25,820 --> 00:06:29,000
Importante verificar el Heidy que no sea ácido.

87
00:06:29,780 --> 00:06:41,690
También podríamos comprobar que le dice 8 iguales 8 8 valor esperado y el real o actual sería examen.

88
00:06:43,130 --> 00:06:44,270
Punto increíble.

89
00:06:45,260 --> 00:06:46,250
Qué más podríamos revisar?

90
00:06:46,490 --> 00:06:52,380
El nombre lo mismo acerto iguales física.

91
00:06:53,990 --> 00:06:56,240
Ojo, acá puse de física pero sin acento.

92
00:06:56,690 --> 00:06:58,370
Entonces debiste ser distinto.

93
00:06:59,450 --> 00:07:01,310
Estaba punto de ennombre.

94
00:07:02,070 --> 00:07:06,530
Bien, acá solamente estamos probando el examen y estoy viendo la pregunta.

95
00:07:06,650 --> 00:07:08,000
Después vamos a probar la pregunta.

96
00:07:08,600 --> 00:07:11,030
Bueno, va a fallar por esto no aceptó, solamente te va a fallar.

97
00:07:11,120 --> 00:07:14,870
Por esto de acá vamos a levantar incluso acá mismo.

98
00:07:15,080 --> 00:07:16,730
Levantamos solamente este texto.

99
00:07:19,050 --> 00:07:26,520
A examen repository otro implementa bueno, acá marca un error porque la interfaz exámen repositorio

100
00:07:26,610 --> 00:07:28,440
agregamos el método Guardar.

101
00:07:29,040 --> 00:07:34,140
Entonces implementamos el método acá para que no matki, el error nada más y lo dejamos así, sin nada

102
00:07:34,140 --> 00:07:34,650
por ahora.

103
00:07:35,490 --> 00:07:37,470
De esta forma, ahora volvemos a levantar.

104
00:07:37,680 --> 00:07:38,600
Nos vamos a texto.

105
00:07:44,330 --> 00:07:48,110
Fallaci vigen porque con acento física y lo puso sin acento.

106
00:07:48,170 --> 00:07:50,870
Entonces está bien, ahora lo cambiamos con acento.

107
00:07:53,410 --> 00:07:56,260
Volvemos a levantar, incluso levantamos todo.

108
00:07:59,930 --> 00:08:01,770
Por acá tenemos té guardar y pasa.

109
00:08:01,950 --> 00:08:02,640
Ningún problema.

110
00:08:02,880 --> 00:08:05,180
Ahora también podríamos verificar con verifi.

111
00:08:05,490 --> 00:08:09,610
Recuerden verificar la invocaciones de los métodos del repositorio de los Mok.

112
00:08:10,020 --> 00:08:10,920
Entonces verifi.

113
00:08:11,430 --> 00:08:14,040
Primero vamos a probar repositorio repositorio.

114
00:08:14,280 --> 00:08:25,410
Invocamos después del paréntesis puntó guardar Henny examen punto clase s verifica que se llame el guardar

115
00:08:25,500 --> 00:08:26,060
independiente.

116
00:08:26,070 --> 00:08:29,420
El objeto examen que estemos guardando que estemos pasando puede ser cualquiera.

117
00:08:30,470 --> 00:08:31,450
Voy a bajar acá.

118
00:08:31,870 --> 00:08:33,260
Acá también verifi.

119
00:08:33,380 --> 00:08:34,490
Bueno, eso no va a pasar.

120
00:08:34,640 --> 00:08:36,530
De hecho lo vamos a levantar ahora.

121
00:08:37,100 --> 00:08:38,270
Podría pasar sin ningún problema.

122
00:08:39,740 --> 00:08:40,230
Está bien.

123
00:08:40,670 --> 00:08:41,750
Pero qué pasa con.?

124
00:08:41,810 --> 00:08:50,920
Pregunta Repositorio verifi pregunta repositorio punto guardar varias lleca también Henny List Acababamos

125
00:08:51,060 --> 00:08:51,860
a cualquier tipo.

126
00:08:51,860 --> 00:08:53,930
Pregunta Cualquier lista de preguntas se fijan.

127
00:08:54,190 --> 00:08:56,840
Da lo mismo se da invocar este método.

128
00:08:56,930 --> 00:08:59,670
Va a pasar la prueba, se va a enfocarse a llamar.

129
00:09:00,050 --> 00:09:02,630
Vamos a ver, lo más probable que no, pero veamos.

130
00:09:05,110 --> 00:09:12,040
No se fijan, nos invoca el método Guardar varias en el examen Servis nos está llamando.

131
00:09:12,460 --> 00:09:14,140
No hay una interacción con este Mok.

132
00:09:14,350 --> 00:09:14,920
Por qué?

133
00:09:15,220 --> 00:09:19,570
Bueno, porque estamos guardando en mi examen acá estamos guardando un examen.

134
00:09:19,600 --> 00:09:22,360
Pero si su pregunta y como no tiene pregunta.

135
00:09:22,420 --> 00:09:29,140
Por ejemplo, si nos vamos acá al guardar del servis, nos vamos a simplement al service Alexan a servis

136
00:09:29,260 --> 00:09:29,920
allá en piel.

137
00:09:30,070 --> 00:09:33,490
Vemos que solamente se llama método guardar varias.

138
00:09:33,610 --> 00:09:40,810
Cuando exciten la pregunta cuando son distintas de vacía y en realidad están pasando un examen vacío

139
00:09:41,500 --> 00:09:42,310
sin preguntas.

140
00:09:43,300 --> 00:09:44,500
Acá vacío.

141
00:09:48,270 --> 00:09:52,680
Datos, punto, examen, pero no tienen la pregunta, entonces bueno, para qué pase esta prueba?

142
00:09:52,740 --> 00:09:58,770
Tendríamos que hacer lo siguiente por ejemplo, pasar un examen con preguntas cortamos esto examen acá,

143
00:10:00,720 --> 00:10:05,440
nuevo examen, le pegamos eso.

144
00:10:06,000 --> 00:10:08,430
Entonces vamos a guardar new examen acá.

145
00:10:11,800 --> 00:10:22,340
Pero tengo que pasar las preguntas en new examen, punto, set, preguntas, datos bueno y pasado a

146
00:10:22,340 --> 00:10:24,790
las preguntas de ejemplo, punto, pregunta se fijan?

147
00:10:24,940 --> 00:10:32,590
Acá tenemos un examen de prueba y pasamos preguntas de cruda y guardamos new examen con las preguntas.

148
00:10:32,710 --> 00:10:37,770
Entonces ahora sé qué va a pasar si levantamos y dirá está todo bien?

149
00:10:39,690 --> 00:10:43,470
Porque ahora, como tiene preguntas, el tamaño es mejor que cero.

150
00:10:43,590 --> 00:10:44,400
No es vacío.

151
00:10:44,500 --> 00:10:48,330
Bueno, se da invocar pregunta repositorio, guardar varias.

152
00:10:48,990 --> 00:10:51,270
Iba a guardar cierto las preguntas.

153
00:10:51,390 --> 00:10:56,970
Bueno, con esto ya tenemos un ejemplo bastante completo y vemos cómo interactúan los distintos repositorio

154
00:10:57,060 --> 00:10:59,670
del examen y pregunta dentro del servis.

155
00:10:59,790 --> 00:11:04,490
Y por supuesto, estos repositorio lo estamos simulando con moquitos.

156
00:11:04,800 --> 00:11:09,600
Da lo mismo la implementación como esté escrito por detrás de escena, como esté programado.

157
00:11:09,720 --> 00:11:15,180
Acá lo importante es probar los datos, nuestros datos con datos de prueba, con datos de ejemplo y

158
00:11:15,180 --> 00:11:20,910
ver si realmente nuestro sujeto de prueba que es el service, el examen servis funciona bien y si se

159
00:11:20,910 --> 00:11:26,100
están llamando los métodos que correspondan de los Shinto repositorio se fijan dependiendo si el examen

160
00:11:26,130 --> 00:11:27,520
tiene o no tiene preguntas.

161
00:11:27,520 --> 00:11:30,930
Se va a embocar este de acá guardar tarias sí o no?

162
00:11:31,020 --> 00:11:32,400
En fin, eso es importante.

163
00:11:32,580 --> 00:11:34,050
Validar, verificar eso.

164
00:11:34,380 --> 00:11:35,010
Nada más.

165
00:11:35,100 --> 00:11:36,950
Nos vemos en la siguiente clase.
