package io.kaif.web.v1;
import static java.util.Arrays.asList;
import static org.hamcrest.Matchers.is;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import org.junit.Before;
import org.junit.Test;
import io.kaif.model.account.Account;
import io.kaif.model.zone.Zone;
import io.kaif.test.MvcIntegrationTests;
public class V1ZoneResourceTest extends MvcIntegrationTests {
private Account user;
@Before
public void setUp() throws Exception {
user = accountCitizen("user1");
}
@Test
public void all() throws Exception {
when(zoneService.listCitizenZones()).thenReturn(asList(zoneDefault("xyz")));
oauthPerform(user, get("/v1/zone/all")).andExpect(status().isOk())
.andExpect(jsonPath("$.data[0].name", is("xyz")));
}
@Test
public void listAdministrators() throws Exception {
when(zoneService.listAdministratorsWithCache(Zone.valueOf("foo"))).thenReturn(asList("admin1",
"admin2"));
oauthPerform(user, get("/v1/zone/foo/administrator/username")).andExpect(status().isOk())
.andExpect(jsonPath("$.data[0]", is("admin1")))
.andExpect(jsonPath("$.data[1]", is("admin2")));
}
}