0

@ExtendWith(SpringExtension.class)
@WebFluxTest(controllers = EventsControllerTest.class)
class EventsControllerTest {
@MockBean UserRepo repo;
@Autowired
private WebTestClient webClient;

@Test
void testAssignUserRoles() {
    UserInfo user = new UserInfo();
    user.setId(Long.valueOf(1));
    user.setFirstname("Test");
    user.setLastname("Test2");
    user.setActiveuser(true);
    user.setEmailid("tet@test.com");
    user.setRolename("test");
    user.setUserpassword("test");
    Mockito.when(repo.save(user)).thenReturn(Mono.just(user));
    webClient.post().uri("/assignRoles").contentType(MediaType.APPLICATION_JSON)
        .body(BodyInserters.fromObject(user)).exchange().expectStatus().isCreated();
    Mockito.verify(repo, times(1)).save(user);
}

Controller
@RestController
public class EventsController {
@Autowired
UserInfoRepository userInfoRepository;

@PostMapping(value = "/saveRole")
public Mono<UserInfo> assignUserRoles(@RequestBody UserInfo userInfo) {
    return userInfoRepository.save(userInfo).log();
}
Sankar
  • 131
  • 1
  • 2
  • 11

1 Answers1

0

Access URI should match value attribute of @PostMapping: saveRole.

johanneslink
  • 4,877
  • 1
  • 20
  • 37
  • added for postmapping URI that matches on test class , java.lang.AssertionError: Status expected:<201 CREATED> but was:<404 NOT_FOUND> – Sankar Apr 24 '20 at 06:42
  • > POST /assignRoles > WebTestClient-Request-Id: [1] > Content-Type: [application/json] > Content-Length: [147] {"id":1,"rolename":"test","firstname":"Test","lastname":"Test2","userpassword":"test","emailid":"tet@test.com","employeeid":null,"activeuser":true} < 404 NOT_FOUND Not Found < Content-Type: [application/json] < Content-Length: [137] {"timestamp":"2020-04-24T06:39:15.504+0000","path":"/assignRoles","status":404,"error":"Not Found","message":null,"requestId":"4c99c987"} org.springframework.test.web.reactive.server.ExchangeResult.assertWithDiagnostics(ExchangeResult.java:209) – Sankar Apr 24 '20 at 06:42