diff --git a/.idea/libraries/Maven__junit_junit_4_13_2.xml b/.idea/libraries/Maven__junit_junit_4_13_2.xml new file mode 100644 index 000000000..606c352d5 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_13_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_2.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_2.xml new file mode 100644 index 000000000..15f1e4c17 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_5_3_92.xml b/.idea/libraries/Maven__org_springframework_spring_web_5_3_9.xml similarity index 100% rename from .idea/libraries/Maven__org_springframework_spring_web_5_3_92.xml rename to .idea/libraries/Maven__org_springframework_spring_web_5_3_9.xml diff --git a/demo.iml b/demo.iml index 2f45d51da..f17d54dcb 100644 --- a/demo.iml +++ b/demo.iml @@ -61,7 +61,6 @@ - @@ -99,5 +98,7 @@ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index b4f4fc9d4..328ea740b 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,38 @@ 4.13.2 test + + org.springframework + spring-web + 5.3.9 + test + + + org.springframework + spring-web + + + org.springframework + spring-web + 5.3.2 + test + + + org.springframework + spring-web + + + org.springframework + spring-web + + + + com.google.code.gson + gson + 2.8.6 + + + diff --git a/src/main/java/com/example/demo/controller/BlogPostController.java b/src/main/java/com/example/demo/controller/BlogPostController.java index 00c752bba..4c831b2f7 100644 --- a/src/main/java/com/example/demo/controller/BlogPostController.java +++ b/src/main/java/com/example/demo/controller/BlogPostController.java @@ -31,6 +31,7 @@ public ResponseEntity create(@RequestBody BlogPost blogPost){ return new ResponseEntity<>(service.create(blogPost), HttpStatus.CREATED); } + @PutMapping(value = "/update/{id}") public ResponseEntity update(@PathVariable Long id, @RequestBody BlogPost blogPost){ return new ResponseEntity<>(service.update(id, blogPost), HttpStatus.OK); diff --git a/src/main/java/com/example/demo/controller/RecipeController.java b/src/main/java/com/example/demo/controller/RecipeController.java deleted file mode 100644 index 15bb6671f..000000000 --- a/src/main/java/com/example/demo/controller/RecipeController.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.example.demo.controller; - -import com.example.demo.service.RecipeService; -import com.example.demo.models.Recipe; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@RequestMapping("/recipeController") -public class RecipeController { - - @Autowired - private RecipeService service; - - @GetMapping(value = "/read/{id}") - public ResponseEntity read(@PathVariable Long id){ - return new ResponseEntity<>(service.read(id), HttpStatus.OK); - } - - @GetMapping(value = "/read") - public ResponseEntity> readAll(){ - return new ResponseEntity<>(service.readAll(), HttpStatus.OK); - } - - @PostMapping(value = "/create") - public ResponseEntity create(@RequestBody Recipe recipe){ - return new ResponseEntity<>(service.create(recipe), HttpStatus.CREATED); - } - - @PutMapping(value = "/update/{id}") - public ResponseEntity update(@PathVariable Long id, @RequestBody Recipe recipe){ - return new ResponseEntity<>(service.update(id, recipe), HttpStatus.OK); - } - - @DeleteMapping(value = "/delete/{id}") - public ResponseEntity delete(@PathVariable Long id){ - return new ResponseEntity<>(service.delete(id), HttpStatus.OK); - } -} diff --git a/src/main/java/com/example/demo/models/BlogPost.java b/src/main/java/com/example/demo/models/BlogPost.java index 956eb4f08..8767d69e4 100644 --- a/src/main/java/com/example/demo/models/BlogPost.java +++ b/src/main/java/com/example/demo/models/BlogPost.java @@ -21,15 +21,15 @@ public class BlogPost { @Column(name = "title") private String title; - @Column(name = "image_url") + @Lob + @Column(name = "image_url", length = 666000) private String imageUrl; - @Nationalized - @Column(name = "content") + @Lob + @Column(name = "content", length = 666000) private String content; - @OneToOne(cascade = CascadeType.ALL) - private Recipe recipe; + private String recipe; @ManyToOne @JsonBackReference @@ -45,7 +45,7 @@ public class BlogPost { public BlogPost() { } - public BlogPost(Long id, String title, String imageUrl, String content, Recipe recipe, User user, List tags) { + public BlogPost(Long id, String title, String imageUrl, String content, String recipe, User user, List tags) { this.id = id; this.title = title; this.imageUrl = imageUrl; @@ -87,11 +87,11 @@ public void setContent(String content) { this.content = content; } - public Recipe getRecipe() { + public String getRecipe() { return recipe; } - public void setRecipe(Recipe recipe) { + public void setRecipe(String recipe) { this.recipe = recipe; } diff --git a/src/main/java/com/example/demo/models/Recipe.java b/src/main/java/com/example/demo/models/Recipe.java deleted file mode 100644 index 0fb859b5e..000000000 --- a/src/main/java/com/example/demo/models/Recipe.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.example.demo.models; - -import com.fasterxml.jackson.annotation.JsonIgnore; - -import javax.persistence.*; -import java.util.List; - -@Entity -@Table(name = "recipes") -public class Recipe { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - private String name; - private String ingredients; - private String instructions; - @OneToOne(cascade = CascadeType.ALL) - @JsonIgnore - private BlogPost blogPost; - - - public Recipe() { - } - - public Recipe(Long id, String name, String ingredients, String instructions, BlogPost blogPost) { - this.id = id; - this.name = name; - this.ingredients = ingredients; - this.instructions = instructions; - this.blogPost = blogPost; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getIngredients() { - return ingredients; - } - - public void setIngredients(String ingredients) { - this.ingredients = ingredients; - } - - public String getInstructions() { - return instructions; - } - - public void setInstructions(String instructions) { - this.instructions = instructions; - } - - public BlogPost getBlogPost() { return blogPost; } - - public void setBlogPost(BlogPost blogPost) { this.blogPost = blogPost; } - -} diff --git a/src/main/java/com/example/demo/repository/RecipeRepository.java b/src/main/java/com/example/demo/repository/RecipeRepository.java deleted file mode 100644 index a66f6ee67..000000000 --- a/src/main/java/com/example/demo/repository/RecipeRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.demo.repository; - -import com.example.demo.models.Recipe; -import org.springframework.data.repository.CrudRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface RecipeRepository extends CrudRepository { - -} diff --git a/src/main/java/com/example/demo/repository/TagRepository.java b/src/main/java/com/example/demo/repository/TagRepository.java index 336e4cdfb..b0692b79d 100644 --- a/src/main/java/com/example/demo/repository/TagRepository.java +++ b/src/main/java/com/example/demo/repository/TagRepository.java @@ -1,7 +1,5 @@ package com.example.demo.repository; -import com.example.demo.models.BlogPost; -import com.example.demo.models.Recipe; import com.example.demo.models.Tag; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; diff --git a/src/main/java/com/example/demo/service/BlogPostService.java b/src/main/java/com/example/demo/service/BlogPostService.java index e95d3221d..529773e5a 100644 --- a/src/main/java/com/example/demo/service/BlogPostService.java +++ b/src/main/java/com/example/demo/service/BlogPostService.java @@ -17,16 +17,6 @@ public class BlogPostService { @Autowired TagRepository tagRepository; -// if (postRequest.getTags() != null) { -// -// for (Tag t : postRequest.getTags()) { -// if (tagRepository.existsByTagName(t.getTagName())) { -// t.setId(tagRepository.findByTagName(t.getTagName()).getId()); -// } -// tagRepository.save(t); -// } -// } - public BlogPost create(BlogPost blogPost){ List blogTags = blogPost.getTags(); if(blogPost.getTags() != null) { diff --git a/src/main/java/com/example/demo/service/RecipeService.java b/src/main/java/com/example/demo/service/RecipeService.java deleted file mode 100644 index acef80734..000000000 --- a/src/main/java/com/example/demo/service/RecipeService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.demo.service; - -import com.example.demo.models.Recipe; -import com.example.demo.repository.RecipeRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class RecipeService { - @Autowired - private RecipeRepository repository; - - public Recipe create(Recipe recipe){ - return repository.save(recipe); - } - - public Recipe read(Long id){ - return repository.findById(id).get(); - } - - public List readAll(){ - Iterable recipeIterable = repository.findAll(); - List result = new ArrayList<>(); - recipeIterable.forEach(result::add); - return result; - } - - public Recipe update(Long id, Recipe newRecipe){ - Recipe recipeInDatabase = read(id); - recipeInDatabase.setName(newRecipe.getName()); - recipeInDatabase.setIngredients(newRecipe.getIngredients()); - recipeInDatabase.setInstructions(newRecipe.getInstructions()); - return repository.save(recipeInDatabase); - } - - public Recipe delete(Recipe recipe){ - repository.delete(recipe); - return recipe; - } - - public Recipe delete(Long id){ - return delete(read(id)); - } -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7cb4ae087..ee9da8b9c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -6,5 +6,5 @@ spring.datasource.username=jen spring.datasource.password=zipcode0 spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=create spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/src/test/java/com/example/demo/controller/BlogPostControllerTest.java b/src/test/java/com/example/demo/controller/BlogPostControllerTest.java index b8773a17c..5923725fd 100644 --- a/src/test/java/com/example/demo/controller/BlogPostControllerTest.java +++ b/src/test/java/com/example/demo/controller/BlogPostControllerTest.java @@ -2,21 +2,27 @@ import com.example.demo.models.BlogPost; import com.example.demo.service.BlogPostService; +import com.google.gson.Gson; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; - +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; import java.util.ArrayList; import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; class BlogPostControllerTest { + @Autowired + MockMvc mockMvc; @InjectMocks BlogPostController blogPostController; @@ -24,82 +30,77 @@ class BlogPostControllerTest { @Mock BlogPostService service; + private Gson gson; + + BlogPostControllerTest() { + } + @BeforeEach void setUp() { MockitoAnnotations.initMocks(this); + mockMvc = MockMvcBuilders.standaloneSetup(blogPostController).build(); + gson = new Gson(); + } @Test - void read() { - //given + void read() throws Exception { + BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.OK); - //when Mockito.doReturn(blogPost).when(service).read(Mockito.anyLong()); - ResponseEntity actual = blogPostController.read(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/blogPostController/read/{id}",5L)).andExpect(status().isOk()); } @Test - void readAll() { - //given + void readAll() throws Exception { + List blogPostList = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(blogPostList,HttpStatus.OK); - //when Mockito.doReturn(blogPostList).when(service).readAll(); - ResponseEntity> actual = blogPostController.readAll(); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/blogPostController/read",5L)).andExpect(status().isOk()); } @Test - void create() { - //given + void create() throws Exception { + BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.CREATED); - //when Mockito.doReturn(blogPost).when(service).create(blogPost); - ResponseEntity actual = blogPostController.create(blogPost); - - //Then - assertEquals(expected,actual); + mockMvc.perform(post("/blogPostController/create") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(blogPost))) + .andExpect(status().isCreated()); } @Test - void updateTest() { - //given + void updateTest() throws Exception { + BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.OK); - //when Mockito.when(service.update(5L, blogPost)).thenReturn(blogPost); - ResponseEntity actual = blogPostController.update(5L,blogPost); - //Then - assertEquals(expected,actual); + mockMvc.perform(put("/blogPostController/update/{id}",5L) + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(blogPost))) + .andExpect(status().isOk()); } @Test - void delete() { - //given - BlogPost blogPost = new BlogPost(); - ResponseEntity expected = new ResponseEntity<>(blogPost,HttpStatus.OK); + void deleteTest() throws Exception { - //when + BlogPost blogPost = new BlogPost(); +// Mockito.doReturn(blogPost).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = blogPostController.delete(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(delete("/blogPostController/delete/{id}", 5L)) + .andExpect(status().isOk()); + } } \ No newline at end of file diff --git a/src/test/java/com/example/demo/controller/RecipeControllerTest.java b/src/test/java/com/example/demo/controller/RecipeControllerTest.java deleted file mode 100644 index 45035deed..000000000 --- a/src/test/java/com/example/demo/controller/RecipeControllerTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.example.demo.controller; - -import com.example.demo.models.BlogPost; -import com.example.demo.models.Recipe; -import com.example.demo.service.RecipeService; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; - -import java.util.ArrayList; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.*; - -class RecipeControllerTest { - @InjectMocks - RecipeController recipeController; - - @Mock - RecipeService service; - - @BeforeEach - void setUp() { - MockitoAnnotations.initMocks(this); - } - - @Test - void read() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe, HttpStatus.OK); - - //when - Mockito.doReturn(recipe).when(service).read(Mockito.anyLong()); - ResponseEntity actual = recipeController.read(Mockito.anyLong()); - - //Then - assertEquals(expected,actual); - } - - @Test - void readAll() { - //given - List recipes = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(recipes,HttpStatus.OK); - - //when - Mockito.doReturn(recipes).when(service).readAll(); - ResponseEntity> actual = recipeController.readAll(); - - //Then - assertEquals(expected,actual); - } - - @Test - void create() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe,HttpStatus.CREATED); - - //when - Mockito.doReturn(recipe).when(service).create(recipe); - ResponseEntity actual = recipeController.create(recipe); - - //Then - assertEquals(expected,actual); - } - - @Test - void update() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe,HttpStatus.OK); - - //when - Mockito.when(service.update(5L, recipe)).thenReturn(recipe); - - ResponseEntity actual = recipeController.update(5L,recipe); - - //Then - assertEquals(expected,actual); - } - - @Test - void delete() { - //given - Recipe recipe = new Recipe(); - ResponseEntity expected = new ResponseEntity<>(recipe,HttpStatus.OK); - - //when - Mockito.doReturn(recipe).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = recipeController.delete(Mockito.anyLong()); - - //Then - assertEquals(expected,actual); - } -} \ No newline at end of file diff --git a/src/test/java/com/example/demo/controller/TagControllerTest.java b/src/test/java/com/example/demo/controller/TagControllerTest.java index 00210ec0c..4e4f46d0b 100644 --- a/src/test/java/com/example/demo/controller/TagControllerTest.java +++ b/src/test/java/com/example/demo/controller/TagControllerTest.java @@ -3,100 +3,107 @@ import com.example.demo.models.BlogPost; import com.example.demo.models.Tag; import com.example.demo.service.TagService; +import com.google.gson.Gson; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; class TagControllerTest { + @Autowired + MockMvc mockMvc; @InjectMocks TagController tagController; @Mock TagService service; + + private Gson gson; + + TagControllerTest(){ + + } @BeforeEach void setUp() { MockitoAnnotations.initMocks(this); + mockMvc = MockMvcBuilders.standaloneSetup(tagController).build(); + gson = new Gson(); } @Test - void read() { - //given + void read() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag, HttpStatus.OK); - //when Mockito.doReturn(tag).when(service).read(Mockito.anyLong()); - ResponseEntity actual = tagController.read(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/tagController/read/{id}",5L)).andExpect(status().isOk()); } @Test - void readAll() { - //given + void readAll() throws Exception { + List tagList = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(tagList,HttpStatus.OK); - //when Mockito.doReturn(tagList).when(service).readAll(); - ResponseEntity> actual = tagController.readAll(); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/tagController/read",5L)).andExpect(status().isOk()); } @Test - void create() { - //given + void create() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag,HttpStatus.CREATED); - //when Mockito.doReturn(tag).when(service).create(tag); - ResponseEntity actual = tagController.create(tag); - //Then - assertEquals(expected,actual); + mockMvc.perform(post("/tagController/create") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(tag))) + .andExpect(status().isCreated()); } @Test - void update() { - //given + void update() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag,HttpStatus.OK); - //when Mockito.when(service.update(5L, tag)).thenReturn(tag); - ResponseEntity actual = tagController.update(5L,tag); + mockMvc.perform(put("/tagController/update/{id}",5L) + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(tag))) + .andExpect(status().isOk()); + - //Then - assertEquals(expected,actual); } @Test - void delete() { - //given + void deleteTest() throws Exception { + Tag tag = new Tag(); - ResponseEntity expected = new ResponseEntity<>(tag,HttpStatus.OK); - //when Mockito.doReturn(tag).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = tagController.delete(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(delete("/tagController/delete/{id}", 5L)) + .andExpect(status().isOk()); } } \ No newline at end of file diff --git a/src/test/java/com/example/demo/controller/UserControllerTest.java b/src/test/java/com/example/demo/controller/UserControllerTest.java index 78f4acdaf..38900e330 100644 --- a/src/test/java/com/example/demo/controller/UserControllerTest.java +++ b/src/test/java/com/example/demo/controller/UserControllerTest.java @@ -3,101 +3,106 @@ import com.example.demo.models.BlogPost; import com.example.demo.models.User; import com.example.demo.service.UserService; +import com.google.gson.Gson; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; class UserControllerTest { + @Autowired + MockMvc mockMvc; + @InjectMocks UserController userController; @Mock UserService service; + private Gson gson; + + UserControllerTest(){ + + } + @BeforeEach void setUp() { MockitoAnnotations.initMocks(this); + mockMvc = MockMvcBuilders.standaloneSetup(userController).build(); + gson = new Gson(); } @Test - void read() { - //given + void read() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user, HttpStatus.OK); - //when Mockito.doReturn(user).when(service).read(Mockito.anyLong()); - ResponseEntity actual = userController.read(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/userController/read/{id}",5L)).andExpect(status().isOk()); } @Test - void readAll() { - //given + void readAll() throws Exception { + List userList = new ArrayList<>(); - ResponseEntity> expected = new ResponseEntity<>(userList,HttpStatus.OK); - //when Mockito.doReturn(userList).when(service).readAll(); - ResponseEntity> actual = userController.readAll(); - //Then - assertEquals(expected,actual); + mockMvc.perform(get("/userController/read",5L)).andExpect(status().isOk()); } @Test - void create() { - //given + void create() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user,HttpStatus.CREATED); - //when Mockito.doReturn(user).when(service).create(user); - ResponseEntity actual = userController.create(user); - //Then - assertEquals(expected,actual); + mockMvc.perform(post("/userController/create") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(user))) + .andExpect(status().isCreated()); } @Test - void update() { - //given + void update() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user,HttpStatus.OK); - //when Mockito.when(service.update(5L, user)).thenReturn(user); - ResponseEntity actual = userController.update(5L,user); - - //Then - assertEquals(expected,actual); + mockMvc.perform(put("/userController/update/{id}",5L) + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(user))) + .andExpect(status().isOk()); } @Test - void delete() { - //given + void deleteTest() throws Exception { + User user = new User(); - ResponseEntity expected = new ResponseEntity<>(user,HttpStatus.OK); - //when Mockito.doReturn(user).when(service).delete(Mockito.anyLong()); - ResponseEntity actual = userController.delete(Mockito.anyLong()); - //Then - assertEquals(expected,actual); + mockMvc.perform(delete("/userController/delete/{id}", 5L)) + .andExpect(status().isOk()); } } \ No newline at end of file diff --git a/src/test/java/com/example/demo/models/BlogPostTest.java b/src/test/java/com/example/demo/models/BlogPostTest.java index 495a18a20..825f40aed 100644 --- a/src/test/java/com/example/demo/models/BlogPostTest.java +++ b/src/test/java/com/example/demo/models/BlogPostTest.java @@ -60,19 +60,19 @@ void getImageUrl() { assertEquals(expectedImageUrl,actual); } - @Test - void getRecipe() { - //given - Recipe expectedRecipe = new Recipe(); - blogPost.setRecipe(expectedRecipe); - - //when - Recipe actual = blogPost.getRecipe(); - - //Then - assertEquals(expectedRecipe,actual); - - } +// @Test +// void getRecipe() { +// //given +// Recipe expectedRecipe = new Recipe(); +// blogPost.setRecipe(expectedRecipe); +// +// //when +// Recipe actual = blogPost.getRecipe(); +// +// //Then +// assertEquals(expectedRecipe,actual); +// +// } @Test void getUser() { diff --git a/src/test/java/com/example/demo/models/RecipeTest.java b/src/test/java/com/example/demo/models/RecipeTest.java deleted file mode 100644 index 8d767f0b7..000000000 --- a/src/test/java/com/example/demo/models/RecipeTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.example.demo.models; - - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.MockitoAnnotations; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -class RecipeTest { - - @InjectMocks - Recipe recipe; - - - @BeforeEach - void setUp() { - MockitoAnnotations.initMocks(this); - } - - @Test - void getId() { - //given - Long expectedId = 4L; - recipe.setId(4L); - - //When - Long actual = recipe.getId(); - - //Then - assertEquals(expectedId,actual); - } - - @Test - void getName() { - //given - String expectedName = "Airfryer"; - recipe.setName("Airfryer"); - - //when - String actual = recipe.getName(); - - //Then - assertEquals(expectedName,actual); - } - - @Test - void getIngredients() { - //given - String expectedIngredients = "Spices"; - recipe.setIngredients("Spices"); - - //When - String actual = recipe.getIngredients(); - - //Then - assertEquals(expectedIngredients,actual); - } - - @Test - void getInstructions() { - //given - String expectedInstruction = "FollowMe"; - recipe.setInstructions("FollowMe"); - - //when - String actual = recipe.getInstructions(); - - //Then - assertEquals(expectedInstruction,actual); - } - - @Test - void getBlogPost() { - //given - BlogPost expectedBlogPost = new BlogPost(); - recipe.setBlogPost(expectedBlogPost); - - //when - BlogPost actual = recipe.getBlogPost(); - - //Then - assertEquals(expectedBlogPost,actual); - - } - -} \ No newline at end of file diff --git a/src/test/java/com/example/demo/service/RecipeServiceTest.java b/src/test/java/com/example/demo/service/RecipeServiceTest.java deleted file mode 100644 index 898ae0ca2..000000000 --- a/src/test/java/com/example/demo/service/RecipeServiceTest.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.example.demo.service; - -import com.example.demo.models.Recipe; -import com.example.demo.repository.RecipeRepository; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -import static org.junit.jupiter.api.Assertions.*; - -class RecipeServiceTest { - - @InjectMocks - RecipeService recipeService; - - @Mock - RecipeRepository repository; - - @BeforeEach - void setUp() { - MockitoAnnotations.initMocks(this); - } - - @Test - void create() { - //given - Recipe recipe = new Recipe(); - Recipe expected = new Recipe(); - - //when - Mockito.when(repository.save(recipe)).thenReturn(expected); - Recipe Actual = recipeService.create(recipe); - - //Then - assertEquals(expected,Actual); - } - - @Test - void readTest() { - //given - List id = new ArrayList<>(); - Recipe expected = new Recipe(); - - //when - Mockito.when(repository.findById(Mockito.anyLong())).thenReturn(java.util.Optional.of(expected)); - Recipe Actual = recipeService.read(Mockito.anyLong()); - - //Then - assertEquals(expected,Actual); - } - - @Test - void readAll() { - //given - List list = new ArrayList<>(); - list.add(new Recipe()); - List expected = new ArrayList(); - - //when - Mockito.when(repository.findAll()).thenReturn(expected); - List actual = recipeService.readAll(); - - //Then - assertEquals(expected,actual); - } - - @Test - void update() { - //given - Recipe recipe = new Recipe(); - recipe.setName("Airfryer"); - recipe.setIngredients("Spices"); - recipe.setInstructions("Follow me"); - List id = new ArrayList<>(); - id.add(5L); - id.add(6L); - - //when - Mockito.when(repository.findById(Mockito.anyLong())).thenReturn(Optional.of(recipe)); - Mockito.when(repository.save(recipe)).thenReturn(recipe); - Recipe actual = recipeService.update(Mockito.anyLong(),recipe); - - //Then - assertEquals(recipe,actual); - } - - @Test - void delete() { - //given - Recipe recipe = new Recipe(); - - //when - Mockito.when(repository.findById(2L)).thenReturn(Optional.of(recipe)); - Recipe actual = recipeService.delete(recipe); - - //Then - assertEquals(recipe,actual); - } - - @Test - void testDelete() { - //given - Recipe recipe = new Recipe(); - - //when - Mockito.when(repository.findById(4L)).thenReturn(Optional.of(recipe)); - Recipe actual = recipeService.delete(4L); - - //Then - assertEquals(recipe,actual); - } -} \ No newline at end of file diff --git a/target/classes/application.properties b/target/classes/application.properties index 7cb4ae087..ee9da8b9c 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -6,5 +6,5 @@ spring.datasource.username=jen spring.datasource.password=zipcode0 spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=create spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/target/classes/com/example/demo/controller/BlogPostController.class b/target/classes/com/example/demo/controller/BlogPostController.class index b5aded88e..aa27f89d7 100644 Binary files a/target/classes/com/example/demo/controller/BlogPostController.class and b/target/classes/com/example/demo/controller/BlogPostController.class differ diff --git a/target/classes/com/example/demo/controller/RecipeController.class b/target/classes/com/example/demo/controller/RecipeController.class deleted file mode 100644 index 815ed0df2..000000000 Binary files a/target/classes/com/example/demo/controller/RecipeController.class and /dev/null differ diff --git a/target/classes/com/example/demo/models/BlogPost.class b/target/classes/com/example/demo/models/BlogPost.class index 49f395dab..14eacf1f7 100644 Binary files a/target/classes/com/example/demo/models/BlogPost.class and b/target/classes/com/example/demo/models/BlogPost.class differ diff --git a/target/classes/com/example/demo/models/Recipe.class b/target/classes/com/example/demo/models/Recipe.class deleted file mode 100644 index f79785f03..000000000 Binary files a/target/classes/com/example/demo/models/Recipe.class and /dev/null differ diff --git a/target/classes/com/example/demo/repository/RecipeRepository.class b/target/classes/com/example/demo/repository/RecipeRepository.class deleted file mode 100644 index cbba40f0c..000000000 Binary files a/target/classes/com/example/demo/repository/RecipeRepository.class and /dev/null differ diff --git a/target/classes/com/example/demo/service/BlogPostService.class b/target/classes/com/example/demo/service/BlogPostService.class index ba52a6abf..08d347f74 100644 Binary files a/target/classes/com/example/demo/service/BlogPostService.class and b/target/classes/com/example/demo/service/BlogPostService.class differ diff --git a/target/classes/com/example/demo/service/RecipeService.class b/target/classes/com/example/demo/service/RecipeService.class deleted file mode 100644 index 93b2da0d6..000000000 Binary files a/target/classes/com/example/demo/service/RecipeService.class and /dev/null differ diff --git a/target/test-classes/com/example/demo/controller/BlogPostControllerTest.class b/target/test-classes/com/example/demo/controller/BlogPostControllerTest.class index 417a4927e..41839a1ba 100644 Binary files a/target/test-classes/com/example/demo/controller/BlogPostControllerTest.class and b/target/test-classes/com/example/demo/controller/BlogPostControllerTest.class differ diff --git a/target/test-classes/com/example/demo/controller/RecipeControllerTest.class b/target/test-classes/com/example/demo/controller/RecipeControllerTest.class deleted file mode 100644 index e1397541b..000000000 Binary files a/target/test-classes/com/example/demo/controller/RecipeControllerTest.class and /dev/null differ diff --git a/target/test-classes/com/example/demo/controller/TagControllerTest.class b/target/test-classes/com/example/demo/controller/TagControllerTest.class index 07bd4c9ee..ce59272b2 100644 Binary files a/target/test-classes/com/example/demo/controller/TagControllerTest.class and b/target/test-classes/com/example/demo/controller/TagControllerTest.class differ diff --git a/target/test-classes/com/example/demo/controller/UserControllerTest.class b/target/test-classes/com/example/demo/controller/UserControllerTest.class index 939462214..add5216a3 100644 Binary files a/target/test-classes/com/example/demo/controller/UserControllerTest.class and b/target/test-classes/com/example/demo/controller/UserControllerTest.class differ diff --git a/target/test-classes/com/example/demo/models/BlogPostTest.class b/target/test-classes/com/example/demo/models/BlogPostTest.class index de1a325b0..f37c57c86 100644 Binary files a/target/test-classes/com/example/demo/models/BlogPostTest.class and b/target/test-classes/com/example/demo/models/BlogPostTest.class differ diff --git a/target/test-classes/com/example/demo/models/RecipeTest.class b/target/test-classes/com/example/demo/models/RecipeTest.class deleted file mode 100644 index 562d38097..000000000 Binary files a/target/test-classes/com/example/demo/models/RecipeTest.class and /dev/null differ diff --git a/target/test-classes/com/example/demo/service/RecipeServiceTest.class b/target/test-classes/com/example/demo/service/RecipeServiceTest.class deleted file mode 100644 index d580b1220..000000000 Binary files a/target/test-classes/com/example/demo/service/RecipeServiceTest.class and /dev/null differ