package Ġcom . social clusters . api . content Ċ Ċ import Ġcom . social clusters . api . get AccessToken Ċ import Ġcom . social clusters . domain . impl . News Repository Ċ import Ġcom . social clusters . po jos . News Ċ import Ġcom . social clusters . po jos . Publisher Ċ import Ġio . kot lint est . Description Ċ import Ġio . kot lint est . specs . Describe Spec Ċ import Ġorg . hamcrest . Matchers Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . springframework . boot . test . autoconfigure . web . servlet . Auto Configure MockMvc Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . test . context . junit 4 . Spring Runner Ċ import Ġorg . springframework . test . web . servlet . MockMvc Ċ import Ġorg . springframework . test . web . servlet . request . MockMvc Request Builders Ċ import Ġorg . springframework . test . web . servlet . result . MockMvc Result Handlers Ċ import Ġorg . springframework . test . web . servlet . result . MockMvc Result Matchers Ċ Ċ @ RunWith ( Spring Runner :: class ) Ċ @ SpringBootTest Ċ @ Auto Configure MockMvc Ċ class ĠNews Controller Test ( ĊĠ Ġprivate Ġval Ġmock Mvc : ĠMock Mvc , ĊĠ Ġprivate Ġval Ġnews Repository : ĠNews Repository Ċ ) Ġ: ĠDescribe Spec () Ġ{ ĊĊĊĠ Ġoverride Ġfun Ġbefore Test ( description : ĠDescription ) Ġ{ ĊĠĠĠ Ġnews Repository . delete All () ĊĠ Ġ} ĊĊĠ Ġinit Ġ{ ĊĊĠĠĠ Ġdescribe ("/ contents / news /") Ġ{ ĊĊĠĠĠĠĠ Ġcontext (" GET ") Ġ{ ĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġnews Ġas Ġpage ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġnews Ġ= ĠNews (" 5 c 3 fa 2 1 b 2 6 5 8 2 c 0 7 b 6 db 3 1 0 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Title ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Summary ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"... ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sun , Ġ 1 0 ĠMar Ġ 2 0 1 9 Ġ 1 9 : 2 0 : 0 0 ĠGMT ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" url ", Ġ" cs ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPublisher (" Publisher ", Ġ" url 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (), Ġnull ) ĊĠĠĠĠĠĠĠĠĠ Ġnews Repository . insert ( news ) ĊĊĠĠĠĠĠĠĠĠĠ Ġmock Mvc . perform ( MockMvc Request Builders . get ("/ contents / news "). header (" Authorization ", Ġ" Bearer Ġ" Ġ+ Ġget AccessToken ( mock Mvc ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. and Do ( MockMvc Result Handlers . print ()). andExpect ( MockMvc Result Matchers . status (). is Ok ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. andExpect ( MockMvc Result Matchers . json Path (" $. content [ 0 ]. title ", ĠMatch ers .` is ` (" Title "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. andExpect ( MockMvc Result Matchers . json Path (" $. content [ 0 ]. url ", ĠMatch ers .` is ` (" url "))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" should Ġreturn Ġnews Ġwithout Ġtopics Ġas Ġpage ") Ġ{ ĊĊ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġnews Ġ= ĠNews (" 5 c 3 fa 2 1 b 2 6 5 8 2 c 0 7 b 6 db 3 1 0 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Title ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Summary ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"... ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sun , Ġ 1 0 ĠMar Ġ 2 0 1 9 Ġ 1 9 : 2 0 : 0 0 ĠGMT ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" url ", Ġ" cs ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPublisher (" Publisher ", Ġ" url 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠ Ġnews Repository . insert ( news ) ĊĊ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġnew sWith Topics Ġ= ĠNews (" 5 c 3 fa 2 1 b 2 6 5 8 2 c 0 7 b 6 db 3 1 1 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Title 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Summary ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"... ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sun , Ġ 1 0 ĠMar Ġ 2 0 1 9 Ġ 1 9 : 2 0 : 0 0 ĠGMT ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" url ", Ġ" cs ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPublisher (" Publisher ", Ġ" url 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" culture "), Ġnull ) ĊĠĠĠĠĠĠĠĠĠ Ġnews Repository . insert ( news With Topics ) ĊĊ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġnew sWith Empty Topics Ġ= ĠNews (" 5 c 3 fa 2 1 b 2 6 5 8 2 c 0 7 b 6 db 3 1 1 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Title 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Summary ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"... ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sun , Ġ 1 0 ĠMar Ġ 2 0 1 9 Ġ 1 9 : 2 0 : 0 0 ĠGMT ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" url ", Ġ" cs ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPublisher (" Publisher ", Ġ" url 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (), Ġnull ) ĊĠĠĠĠĠĠĠĠĠ Ġnews Repository . insert ( news With Empty Topics ) ĊĊĠĠĠĠĠĠĠĠĠ Ġmock Mvc . perform ( MockMvc Request Builders . get ("/ contents / news "). param (" without Topic ", Ġ" true "). header (" Authorization ", Ġ" Bearer Ġ" Ġ+ Ġget AccessToken ( mock Mvc ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. and Do ( MockMvc Result Handlers . print ()). andExpect ( MockMvc Result Matchers . status (). is Ok ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. andExpect ( MockMvc Result Matchers . json Path (" $. content . length ()", ĠMatch ers .` is `( 2 ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. andExpect ( MockMvc Result Matchers . json Path (" $. content [ 0 ]. title ", ĠMatch ers .` is ` (" Title "))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } ĊĊĊ