public async Task Create_UserDoesExist_CreatedAtRoute() { // Arrange var user = MockApplicationUsers.Get(8); var token = await GetToken(user); const string createPath = Routes.TodoRoute; _endSystems.SetBearerToken(token); var model = new CreateTodoViewModel { Description = "I am your doctor, when you need, want some coke? Have some weed", Due = new DateTime(2000, 1, 1) }; var body = JsonStringBuilder.CreateTodoJsonBody(model.Description, model.Due.ToString()); var content = new StringContent(body); // Act var createResponse = await _endSystems.Post(createPath, content); var location = createResponse.Headers.Location.ToString(); var getResponse = await _endSystems.Get(location); var dto = JsonStringSerializer.GetTodoDto(getResponse.Body); // Assert Assert.Equal(HttpStatusCode.Created, createResponse.Code); Assert.Equal(HttpStatusCode.OK, getResponse.Code); Assert.Equal(model.Description, dto.Description); Assert.Equal(model.Due, dto.Due); // Tear down _endSystems.Dispose(); }
public async Task GetTodo_UserOwnsTodoAndBothExist_OkWithDto() { // Arrange var todo = MockTodos.Get(14); var user = MockApplicationUsers .GetAll() .SingleOrDefault(w => w.Id == todo.Owner.Id); var path = $"{Routes.TodoRoute}/{todo.Id}"; var token = await GetToken(user); _endSystems.SetBearerToken(token); // Act var response = await _endSystems.Get(path); var dto = JsonStringSerializer.GetTodoDto(response.Body); // Assert Assert.Equal(HttpStatusCode.OK, response.Code); Assert.Equal(todo.Id, dto.Id); Assert.Equal(todo.Description, dto.Description); Assert.Equal(todo.Due, dto.Due); // Tear down _endSystems.Dispose(); }
public async Task Edit_ExistingTodoOwnedByTokenOwner_Ok() { // Arrange var user = MockApplicationUsers.Get(2); var todoToEdit = MockTodos.GetAll().LastOrDefault(z => z.Owner.Id == user.Id); Assert.NotNull(todoToEdit); var token = await GetToken(user); var model = new EditTodoViewModel { Id = todoToEdit.Id, Due = new DateTime(2014, 12, 12, 10, 11, 12), Description = "It's like a jungle sometimes - It makes me wonder how I keep from goin' under" }; var body = JsonStringBuilder.EditTodoJsonBody( model.Description, model.Due.ToString(), model.Id.ToString()); var content = new StringContent(body); _endSystems.SetBearerToken(token); var getPath = $"{Routes.TodoRoute}/{model.Id}"; var putPath = Routes.TodoRoute; // Act var getResponse1 = await _endSystems.Get(getPath); var editResponse = await _endSystems.Put(putPath, content); var getResponse2 = await _endSystems.Get(getPath); var dtoBefore = JsonStringSerializer.GetTodoDto(getResponse1.Body); var dtoAfter = JsonStringSerializer.GetTodoDto(getResponse2.Body); // Assert Assert.Equal(HttpStatusCode.OK, getResponse1.Code); Assert.Equal(HttpStatusCode.OK, editResponse.Code); Assert.Equal(HttpStatusCode.OK, getResponse2.Code); Assert.Equal(todoToEdit.Id, dtoBefore.Id); Assert.Equal(todoToEdit.Due, dtoBefore.Due); Assert.Equal(todoToEdit.Description, dtoBefore.Description); Assert.Equal(model.Id, dtoAfter.Id); Assert.Equal(model.Due, dtoAfter.Due); Assert.Equal(model.Description, dtoAfter.Description); // Tear down _endSystems.Dispose(); }