public async Task GetAllTodos_UserHasTokenNoQuery_OkAndDtoArray() { // Arrange var user = MockApplicationUsers.Get(4); var todos = MockTodos .GetAll() .Where(w => w.Owner.Id == user.Id) .OrderBy(w => w.Due) .ToArray(); var path = Routes.TodoRoute; var token = await GetToken(user); _endSystems.SetBearerToken(token); // Act var response = await _endSystems.Get(path); var dtos = JsonStringSerializer.GetListOfTodoto(response.Body); // Assert Assert.Equal(HttpStatusCode.OK, response.Code); CheckOrderAndEqual(todos, dtos); // Tear down _endSystems.Dispose(); }
public async Task GetAllTodos_UserHasTokenDateQueryInvalid_OkAndEmptyDtoArray() { // Arrange var user = MockApplicationUsers.Get(2); var path = $"{Routes.TodoRoute}?year=2017&month=15&day=33"; var token = await GetToken(user); _endSystems.SetBearerToken(token); // Act var response = await _endSystems.Get(path); var dtos = JsonStringSerializer.GetListOfTodoto(response.Body); // Assert Assert.Equal(HttpStatusCode.OK, response.Code); Assert.Empty(dtos); // Tear down _endSystems.Dispose(); }
public async Task GetAllTodos_UserHasTokenValidQuery_OkAndFilteredDtoArray() { // Arrange var user = MockApplicationUsers.Get(4); var todos = MockTodos .GetAll() .Where(w => w.Owner.Id == user.Id) .OrderBy(w => w.Due) .ToArray(); Assert.True(todos.Length > 1); var filterDate = todos[0].Due.Date; Assert.NotEqual(todos[0].Due.Date, todos[1].Due.Date); var filteredTodos = MockTodos .GetAll() .Where(w => w.Owner.Id == user.Id && w.Due.Date == filterDate) .OrderBy(w => w.Due) .ToArray(); Assert.NotEqual(todos.Length, filteredTodos.Length); var path = $"{Routes.TodoRoute}?year={filterDate.Year}&month={filterDate.Month}&day={filterDate.Day}"; var token = await GetToken(user); _endSystems.SetBearerToken(token); // Act var response = await _endSystems.Get(path); var dtos = JsonStringSerializer.GetListOfTodoto(response.Body); // Assert Assert.Equal(HttpStatusCode.OK, response.Code); Assert.NotEqual(todos.Length, dtos.Length); CheckOrderAndEqual(filteredTodos, dtos); // Tear down _endSystems.Dispose(); }