Skip to content

Commit f74aabe

Browse files
Merged AddCategoryRequest & UpdateCategoryRequest
Merged and renamed references to AddCategoryRequest & UpdateCategoryRequest.
1 parent 198bcb8 commit f74aabe

File tree

9 files changed

+26
-46
lines changed

9 files changed

+26
-46
lines changed

src/main/java/com/answerdigital/answerking/controller/CategoryController.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.answerdigital.answerking.controller;
22

33
import com.answerdigital.answerking.model.Category;
4-
import com.answerdigital.answerking.request.AddCategoryRequest;
5-
import com.answerdigital.answerking.request.UpdateCategoryRequest;
4+
import com.answerdigital.answerking.request.RequestModelsCategory;
65
import com.answerdigital.answerking.service.CategoryService;
76
import io.swagger.v3.oas.annotations.Operation;
87
import io.swagger.v3.oas.annotations.media.Content;
@@ -41,7 +40,7 @@ public CategoryController(final CategoryService categoryService) {
4140
}
4241

4342
@PostMapping
44-
public ResponseEntity<Category> addCategory(@Valid @RequestBody final AddCategoryRequest categoryRequest) {
43+
public ResponseEntity<Category> addCategory(@Valid @RequestBody final RequestModelsCategory categoryRequest) {
4544
return new ResponseEntity<>(categoryService.addCategory(categoryRequest), HttpStatus.CREATED);
4645
}
4746

@@ -74,7 +73,7 @@ public ResponseEntity<Category> removeProductFromCategory(@PathVariable @NotNull
7473
}
7574

7675
@PutMapping("/{categoryId}")
77-
public ResponseEntity<Category> updateCategory(@Valid @RequestBody final UpdateCategoryRequest updateCategoryRequest,
76+
public ResponseEntity<Category> updateCategory(@Valid @RequestBody final RequestModelsCategory updateCategoryRequest,
7877
@PathVariable @NotNull final Long categoryId) {
7978
return new ResponseEntity<>(categoryService.updateCategory(updateCategoryRequest, categoryId), HttpStatus.OK);
8079
}
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package com.answerdigital.answerking.mapper;
22

33
import com.answerdigital.answerking.model.Category;
4-
import com.answerdigital.answerking.request.AddCategoryRequest;
5-
import com.answerdigital.answerking.request.UpdateCategoryRequest;
4+
import com.answerdigital.answerking.request.RequestModelsCategory;
65
import org.mapstruct.Mapper;
76
import org.mapstruct.MappingTarget;
87

98
@Mapper(componentModel = "spring")
109
public interface CategoryMapper {
11-
Category addRequestToCategory(AddCategoryRequest addCategoryRequest);
10+
Category addRequestToCategory(RequestModelsCategory addCategoryRequest);
1211

13-
Category updateRequestToCategory(@MappingTarget Category category, UpdateCategoryRequest updateCategoryRequest);
12+
Category updateRequestToCategory(@MappingTarget Category category, RequestModelsCategory updateCategoryRequest);
1413
}

src/main/java/com/answerdigital/answerking/model/Category.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.answerdigital.answerking.model;
22

3-
import com.answerdigital.answerking.request.AddCategoryRequest;
3+
import com.answerdigital.answerking.request.RequestModelsCategory;
44
import com.fasterxml.jackson.annotation.JsonIgnore;
55
import lombok.AllArgsConstructor;
66
import lombok.Builder;
@@ -54,7 +54,7 @@ public class Category {
5454
@JsonIgnore
5555
private Set<Product> products = new HashSet<>();
5656

57-
public Category(final AddCategoryRequest categoryRequest) {
57+
public Category(final RequestModelsCategory categoryRequest) {
5858
this.name = categoryRequest.name();
5959
this.description = categoryRequest.description();
6060
this.retired = false;

src/main/java/com/answerdigital/answerking/request/AddCategoryRequest.java renamed to src/main/java/com/answerdigital/answerking/request/RequestModelsCategory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import javax.validation.constraints.NotBlank;
44
import javax.validation.constraints.Pattern;
55

6-
public record AddCategoryRequest(
6+
public record RequestModelsCategory(
77
@NotBlank
88
@Pattern(regexp = "^[a-zA-Z\s-]*",
99
message = "Category name must only contain letters, spaces and dashes")

src/main/java/com/answerdigital/answerking/request/UpdateCategoryRequest.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/main/java/com/answerdigital/answerking/service/CategoryService.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
import com.answerdigital.answerking.model.Category;
99
import com.answerdigital.answerking.model.Product;
1010
import com.answerdigital.answerking.repository.CategoryRepository;
11-
import com.answerdigital.answerking.request.AddCategoryRequest;
12-
import com.answerdigital.answerking.request.UpdateCategoryRequest;
11+
import com.answerdigital.answerking.request.RequestModelsCategory;
1312
import org.mapstruct.factory.Mappers;
1413
import org.springframework.beans.factory.annotation.Autowired;
1514
import org.springframework.stereotype.Service;
@@ -33,7 +32,7 @@ public CategoryService(final ProductService productService,
3332
this.categoryRepository = categoryRepository;
3433
}
3534

36-
public Category addCategory(final AddCategoryRequest categoryRequest) {
35+
public Category addCategory(final RequestModelsCategory categoryRequest) {
3736
if (categoryRepository.existsByName(categoryRequest.name())) {
3837
throw new NameUnavailableException(String.format("A category named '%s' already exists", categoryRequest.name()));
3938
}
@@ -51,7 +50,7 @@ public Set<Category> findAll() {
5150
return categoryRepository.findAll();
5251
}
5352

54-
public Category updateCategory(final UpdateCategoryRequest updateCategoryRequest, final Long id) {
53+
public Category updateCategory(final RequestModelsCategory updateCategoryRequest, final Long id) {
5554
// check that the category isn't being renamed to a category name that already exists
5655
if (categoryRepository.existsByNameAndIdIsNot(updateCategoryRequest.name(), id)) {
5756
throw new NameUnavailableException(String.format("A category named %s already exists", updateCategoryRequest.name()));

src/test/java/com/answerdigital/answerking/controller/CategoryControllerRequestValidatorTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.answerdigital.answerking.controller;
22

3-
import com.answerdigital.answerking.request.AddCategoryRequest;
4-
import com.answerdigital.answerking.request.UpdateCategoryRequest;
3+
import com.answerdigital.answerking.request.RequestModelsCategory;
54
import org.junit.jupiter.api.AfterEach;
65
import org.junit.jupiter.api.BeforeEach;
76
import org.junit.jupiter.params.ParameterizedTest;
@@ -49,10 +48,10 @@ private static Stream<Arguments> provideInvalidStringsForAddCategory() {
4948
@MethodSource("provideInvalidStringsForAddCategory")
5049
void addCategoryWithInvalidRequest(String name, String description) {
5150
// given
52-
AddCategoryRequest addCategoryRequest = new AddCategoryRequest(name, description);
51+
RequestModelsCategory addCategoryRequest = new RequestModelsCategory(name, description);
5352

5453
// when
55-
Set<ConstraintViolation<AddCategoryRequest>> violations = validator.validate(addCategoryRequest);
54+
Set<ConstraintViolation<RequestModelsCategory>> violations = validator.validate(addCategoryRequest);
5655

5756
// then
5857
assertFalse(violations.isEmpty());
@@ -74,10 +73,10 @@ private static Stream<Arguments> provideInvalidStringsForUpdateCategory() {
7473
@MethodSource("provideInvalidStringsForUpdateCategory")
7574
void updateCategoryWithInvalidRequest(String name, String description) {
7675
// given
77-
UpdateCategoryRequest updateCategoryRequest = new UpdateCategoryRequest(name, description);
76+
RequestModelsCategory updateCategoryRequest = new RequestModelsCategory(name, description);
7877

7978
// when
80-
Set<ConstraintViolation<UpdateCategoryRequest>> violations = validator.validate(updateCategoryRequest);
79+
Set<ConstraintViolation<RequestModelsCategory>> violations = validator.validate(updateCategoryRequest);
8180

8281
// then
8382
assertFalse(violations.isEmpty());

src/test/java/com/answerdigital/answerking/controller/CategoryControllerTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.answerdigital.answerking.controller;
22

33
import com.answerdigital.answerking.model.Category;
4-
import com.answerdigital.answerking.request.AddCategoryRequest;
5-
import com.answerdigital.answerking.request.UpdateCategoryRequest;
4+
import com.answerdigital.answerking.request.RequestModelsCategory;
65
import com.answerdigital.answerking.service.CategoryService;
76
import com.fasterxml.jackson.databind.ObjectMapper;
87
import org.junit.jupiter.api.Test;
@@ -60,7 +59,7 @@ void removeProductFromCategoryTest() throws Exception {
6059
@Test
6160
void addCategoryTest() throws Exception {
6261
ObjectMapper mapper = new ObjectMapper();
63-
final var addCategoryRequest = new AddCategoryRequest("random name", "random description");
62+
final var addCategoryRequest = new RequestModelsCategory("random name", "random description");
6463
final var category = new Category(addCategoryRequest);
6564
final var categoryRequest = "{\"name\": \"random name\",\"description\": \"random description\"}";
6665

@@ -109,7 +108,7 @@ void addCategoryWithInvalidCategoryRequestDescTest() throws Exception {
109108
@Test
110109
void updateCategoryTest() throws Exception {
111110
ObjectMapper mapper = new ObjectMapper();
112-
final var updateCategoryRequest = new UpdateCategoryRequest("random name", "random description");
111+
final var updateCategoryRequest = new RequestModelsCategory("random name", "random description");
113112
final var newRandomName = "new random name";
114113
final var newRandomDesc = "new random description";
115114
final var category = new Category(newRandomName, newRandomDesc);

src/test/java/com/answerdigital/answerking/service/CategoryServiceTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
import com.answerdigital.answerking.model.Category;
88
import com.answerdigital.answerking.model.Product;
99
import com.answerdigital.answerking.repository.CategoryRepository;
10-
import com.answerdigital.answerking.request.AddCategoryRequest;
11-
import com.answerdigital.answerking.request.UpdateCategoryRequest;
10+
import com.answerdigital.answerking.request.RequestModelsCategory;
1211

1312
import java.math.BigDecimal;
1413

@@ -57,7 +56,7 @@ void tearDown() {
5756
@Test
5857
void testAddCategory() {
5958
// given
60-
AddCategoryRequest addCategoryRequest = new AddCategoryRequest("Drinks", "Our selection of drinks");
59+
RequestModelsCategory addCategoryRequest = new RequestModelsCategory("Drinks", "Our selection of drinks");
6160
Category expectedResponse = new Category("Drinks", "Our selection of drinks");
6261

6362
// when
@@ -74,7 +73,7 @@ void testAddCategory() {
7473
@Test
7574
void testAddCategoryThatAlreadyExists() {
7675
// given
77-
AddCategoryRequest addCategoryRequest = new AddCategoryRequest("Drinks", "Our selection of drinks");
76+
RequestModelsCategory addCategoryRequest = new RequestModelsCategory("Drinks", "Our selection of drinks");
7877

7978
// when
8079
doReturn(true).when(categoryRepository).existsByName(anyString());
@@ -91,7 +90,7 @@ void testUpdateCategory() {
9190
Category existingCategory = new Category("Drinks", "Our selection of drinks");
9291
existingCategory.setId(CATEGORY_ID);
9392

94-
UpdateCategoryRequest updateCategoryRequest = new UpdateCategoryRequest(
93+
RequestModelsCategory updateCategoryRequest = new RequestModelsCategory(
9594
"DrinksUpdated",
9695
"Our updated selection of drinks");
9796

@@ -115,7 +114,7 @@ void testUpdateCategory() {
115114
@Test
116115
void testUpdateCategoryThatDoesNotExist() {
117116
// given
118-
UpdateCategoryRequest updateCategoryRequest = new UpdateCategoryRequest(
117+
RequestModelsCategory updateCategoryRequest = new RequestModelsCategory(
119118
"DrinksUpdated",
120119
"Our updated selection of drinks");
121120

@@ -136,7 +135,7 @@ void testUpdateCategoryNameToCategoryThatAlreadyExists() {
136135
Category existingCategory = new Category("Drinks", "Our selection of drinks");
137136
existingCategory.setId(CATEGORY_ID);
138137

139-
UpdateCategoryRequest updateCategoryRequest = new UpdateCategoryRequest(
138+
RequestModelsCategory updateCategoryRequest = new RequestModelsCategory(
140139
"Burgers",
141140
"Our updated selection of drinks");
142141

0 commit comments

Comments
 (0)