Skip to content

Commit 280a399

Browse files
authored
Merge pull request #49 from Outfit-Lab-TPI/dev
Dev
2 parents 64a6df0 + c08727b commit 280a399

File tree

121 files changed

+12194
-491
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+12194
-491
lines changed

README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,42 @@ docker compose up --build
146146
| `MAX_FILE_SIZE` / `MAX_REQUEST_SIZE` | Límites upload | `50MB` |
147147
| `LOG_LEVEL_ROOT` / `LOG_LEVEL_OUTFITLAB` | Logging | `INFO` / `DEBUG` |
148148
| `SERVER_PORT` | Puerto interno | `8080` |
149+
150+
## Testing
151+
Utilizacion de Patron Given - When - Then
152+
## - Given: preparar datos y mocks. Ej:
153+
154+
private UserSubscriptionEntity givenExistingSubscriptionReturningEntity(String email, String planCode, int combinations) {
155+
UserSubscriptionEntity entity = givenSubscriptionEntity(email, planCode, 10L, combinations);
156+
when(userSubscriptionJpaRepository.findByUserEmail(email))
157+
.thenReturn(Optional.of(entity));
158+
return entity;
159+
}
160+
## - WHEN: ejecutar el método a probar. Ej:
161+
162+
private void whenFindingSubscriptionByUserEmail(String email, UserSubscriptionEntity entity) {
163+
when(userSubscriptionJpaRepository.findByUserEmail(email)).thenReturn(Optional.of(entity));
164+
}
165+
166+
## - THEN: verificar resultados o excepciones. Ej:
167+
168+
private void thenSubscriptionShouldHaveCombinationsUsed(UserSubscriptionModel model, int expected) {
169+
assertThat(model).isNotNull();
170+
assertThat(model.getCombinationsUsed()).isEqualTo(expected);
171+
}
172+
173+
## - Test completo del metodo
174+
@Test
175+
void shouldReturnSubscriptionModelWhenEmailExists() throws SubscriptionNotFoundException {
176+
String email = "[email protected]";
177+
UserSubscriptionEntity entity = givenExistingSubscriptionReturningEntity(email, "BASIC", 10);
178+
179+
whenFindingSubscriptionByUserEmail(email, entity);
180+
181+
UserSubscriptionModel result = whenFindByUserEmail(email);
182+
183+
thenSubscriptionShouldHaveCombinationsUsed(result, 10);
184+
verify(userSubscriptionJpaRepository).findByUserEmail(email);
185+
}
186+
187+

src/main/java/com/outfitlab/project/domain/interfaces/repositories/GarmentRecomendationRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ public interface GarmentRecomendationRepository {
1212
void deleteRecomendationsByGarmentCode(String garmentCode);
1313

1414
void createSugerenciasByGarmentCode(String garmentCode, String type, List<String> sugerencias);
15+
16+
void deleteRecomendationByGarmentsCode(String garmentCodePrimary, String garmentCodeSecondary, String type);
1517
}

src/main/java/com/outfitlab/project/domain/interfaces/repositories/PrendaOcacionRepository.java

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.outfitlab.project.domain.interfaces.repositories;
2+
3+
public interface PrendaOcasionRepository {
4+
5+
void deleteAllPrendaOcasionByGarment(String garmentCode);
6+
}

src/main/java/com/outfitlab/project/domain/model/UserModel.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ public UserModel(long id, String email) {
108108
this.email = email;
109109
}
110110

111+
public UserModel() {
112+
113+
}
114+
111115
/*
112116
* public String getPassword() {
113117
* return "";
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package com.outfitlab.project.domain.useCases.recomendations;
22

3-
import com.outfitlab.project.domain.interfaces.repositories.PrendaOcacionRepository;
3+
import com.outfitlab.project.domain.interfaces.repositories.PrendaOcasionRepository;
44

55
public class DeleteAllPrendaOcacionRelatedToGarment {
66

7-
private final PrendaOcacionRepository prendaOcacionRepository;
7+
private final PrendaOcasionRepository prendaOcacionRepository;
88

9-
public DeleteAllPrendaOcacionRelatedToGarment(PrendaOcacionRepository prendaOcacionRepository){
9+
public DeleteAllPrendaOcacionRelatedToGarment(PrendaOcasionRepository prendaOcacionRepository){
1010
this.prendaOcacionRepository = prendaOcacionRepository;
1111
}
1212

1313
public void execute(String garmentCode){
14-
this.prendaOcacionRepository.deleteAllPrendaOcacionByGarment(garmentCode);
14+
this.prendaOcacionRepository.deleteAllPrendaOcasionByGarment(garmentCode);
1515
}
1616
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.outfitlab.project.domain.useCases.recomendations;
2+
3+
import com.outfitlab.project.domain.interfaces.repositories.GarmentRecomendationRepository;
4+
5+
public class DeleteRecomendationByPrimaryAndSecondaryGarmentCode {
6+
7+
private final GarmentRecomendationRepository garmentRecomendationRepository;
8+
9+
public DeleteRecomendationByPrimaryAndSecondaryGarmentCode(GarmentRecomendationRepository garmentRecomendationRepository) {
10+
this.garmentRecomendationRepository = garmentRecomendationRepository;
11+
}
12+
13+
public String execute(String garmentCodePrimary, String garmentCodeSecondary, String type) {
14+
this.garmentRecomendationRepository.deleteRecomendationByGarmentsCode(garmentCodePrimary, garmentCodeSecondary, type);
15+
return "Sugerencia eliminada con éxito.";
16+
}
17+
}

src/main/java/com/outfitlab/project/infrastructure/config/GarmentConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class GarmentConfig {
1919
@Bean
2020
public GarmentRepository garmentRepository(GarmentJpaRepository jpaRepository, BrandJpaRepository brandJpaRepository,
2121
ClimaJpaRepository climaJpaRepository, ColorJpaRepository colorJpaRepository,
22-
OcacionJpaRepository ocacionJpaRepository) {
22+
OcasionJpaRepository ocacionJpaRepository) {
2323
return new GarmentRepositoryImpl(jpaRepository, brandJpaRepository, colorJpaRepository, climaJpaRepository, ocacionJpaRepository);
2424
}
2525

@@ -41,7 +41,7 @@ public DeleteAllFavoritesRelatedToGarment deleteAllFavoritesRelatedToGarment(Use
4141
}
4242

4343
@Bean
44-
public DeleteAllPrendaOcacionRelatedToGarment deleteAllPrendaOcacionRelatedToGarment(PrendaOcacionRepository prendaOcacionRepository){
44+
public DeleteAllPrendaOcacionRelatedToGarment deleteAllPrendaOcacionRelatedToGarment(PrendaOcasionRepository prendaOcacionRepository){
4545
return new DeleteAllPrendaOcacionRelatedToGarment(prendaOcacionRepository);
4646
}
4747

src/main/java/com/outfitlab/project/infrastructure/config/RecomendationConfig.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,13 @@ public DeleteGarmentRecomentationsRelatedToGarment deleteGarmentRecomentationsRe
2727
}
2828

2929
@Bean
30-
public PrendaOcacionRepository prendaOcacionRepository(PrendaOcacionJpaRepository prendaOcacionJpaRepository){
31-
return new PrendaOcacionRepositoryImpl(prendaOcacionJpaRepository);
30+
public PrendaOcasionRepository prendaOcacionRepository(PrendaOcasionJpaRepository prendaOcacionJpaRepository){
31+
return new PrendaOcasionRepositoryImpl(prendaOcacionJpaRepository);
32+
}
33+
34+
@Bean
35+
public DeleteRecomendationByPrimaryAndSecondaryGarmentCode deleteRecomendationByPrimaryAndSecondaryGarmentCode(GarmentRecomendationRepository recomendationRepository){
36+
return new DeleteRecomendationByPrimaryAndSecondaryGarmentCode(recomendationRepository);
3237
}
3338

3439
@Bean
@@ -37,7 +42,7 @@ public CreateSugerenciasByGarmentsCode createSugerenciasByGarmentsCode(GarmentRe
3742
}
3843

3944
@Bean
40-
public DeleteAllPrendaOcacionRelatedToGarment deleteAllPrendaOcacionRelatedToGarment(PrendaOcacionRepository prendaOcacionRepository){
45+
public DeleteAllPrendaOcacionRelatedToGarment deleteAllPrendaOcacionRelatedToGarment(PrendaOcasionRepository prendaOcacionRepository){
4146
return new DeleteAllPrendaOcacionRelatedToGarment(prendaOcacionRepository);
4247
}
4348

@@ -47,8 +52,8 @@ public ColorRepository colorRepository(ColorJpaRepository colorJpaRepository){
4752
}
4853

4954
@Bean
50-
public OcacionRepository ocacionRepository(OcacionJpaRepository ocacionJpaRepository){
51-
return new OcacionRepositoryImpl(ocacionJpaRepository);
55+
public OcacionRepository ocacionRepository(OcasionJpaRepository ocacionJpaRepository){
56+
return new OcasionRepositoryImpl(ocacionJpaRepository);
5257
}
5358

5459
@Bean

src/main/java/com/outfitlab/project/infrastructure/model/MarcaEntity.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ public class MarcaEntity {
4040
private String urlSite;
4141

4242
public MarcaEntity(){}
43-
43+
public MarcaEntity(String codigoMarca, String nombre) {
44+
this.codigoMarca = codigoMarca;
45+
this.nombre = nombre;
46+
}
4447
public MarcaEntity(String codigoMarca, String nombre, String logoUrl, LocalDateTime createdAt, LocalDateTime updatedAt) {
4548
this.codigoMarca = codigoMarca;
4649
this.nombre = nombre;

0 commit comments

Comments
 (0)