/** Test the list Users method */
  public void testListUsers() {
    UsersController controller = new UsersController(userService);
    ModelMap model = null;
    ModelAndView result = controller.listUsers(model);
    assertEquals("admin/users/users", result.getViewName());

    controller = new UsersController(userService);
    model = new ModelMap();
    // Expectations
    context.checking(
        new Expectations() {
          {
            one(userService).getUsers();
            will(returnValue(new ArrayList<User>()));
          }
        });
    // Test
    result = controller.listUsers(model);
    // Verify
    assertNotNull(model.get("user"));
    List<User> users = (List<User>) model.get("users");
    assertTrue(users.isEmpty());
    assertEquals("admin/users/users", result.getViewName());

    model = new ModelMap();
    // Expectations
    context.checking(
        new Expectations() {
          {
            one(userService).getUsers();
            will(returnValue(new ArrayList<User>()));
          }
        });
    model.addAttribute("user", new User(null, null, null, false));
    result = controller.listUsers(model);
    assertNotNull(model.get("user"));
    users = (List<User>) model.get("users");
    assert (users.isEmpty());
    assertEquals("admin/users/users", result.getViewName());
  }