public async Task <IActionResult> PutBaseActivityInfo(int id, BaseActivityInfo baseActivityInfo) { if (id != baseActivityInfo.BaseActivityInfoId) { return(BadRequest()); } _context.Entry(baseActivityInfo).State = EntityState.Modified; try { await _context.SaveChangesAsync(); // fetch updated baseActivity?? var updatedBaseActivityInfo = await _context.BaseActivityInfos.FindAsync(id); return(Ok(updatedBaseActivityInfo)); } catch (DbUpdateConcurrencyException) { if (!BaseActivityInfoExists(id)) { return(NotFound()); } else { throw; } } }
public async Task AC_ShouldBeAbleToCreateActivity() { // Autherize Admin _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(JwtBearerDefaults.AuthenticationScheme, authAdmin); var activity = await CreateActivity(HttpStatusCode.Created); Assert.IsNotNull(activity); _newActivity = activity; }
public async Task <ActionResult <BaseActivityInfo> > PostBaseActivityInfo(BaseActivityInfo baseActivityInfo) { if (baseActivityInfo == null) { return(BadRequest()); } baseActivityInfo.Theme = null; _context.BaseActivityInfos.Add(baseActivityInfo); await _context.SaveChangesAsync(); return(CreatedAtAction("GetBaseActivityInfo", new { id = baseActivityInfo.BaseActivityInfoId }, baseActivityInfo)); }
private async Task <BaseActivityInfo> PutActivityAsync(BaseActivityInfo activity, HttpStatusCode expectedHttpStatus) { var response = await _httpClient.PutAsync("api/BaseActivityInfos/" + activity.BaseActivityInfoId, new StringContent(JsonSerializer.Serialize(activity), Encoding.UTF8, MediaTypeNames.Application.Json)); Assert.AreEqual(expectedHttpStatus, response.StatusCode); if (expectedHttpStatus == HttpStatusCode.OK) { var putResponseBody = await response.Content.ReadAsStringAsync(); var updated_activity = JsonSerializer.Deserialize <BaseActivityInfo>(putResponseBody); return(updated_activity); } return(null); }
private async Task <BaseActivityInfo> CreateActivity(HttpStatusCode expectedHttpStatus) { // Get a theme var themes = await GetThemesAsync(HttpStatusCode.OK); Assert.IsNotNull(themes); Assert.IsTrue(themes.Count > 0); var theme = themes[0]; // Create a new base activity var activity = new BaseActivityInfo { Name = "TestBastActivityInfo", Description = "Activity for UnitTest BaseActivityInfosControllerTest", Phase = ActivityPhase.CONCEPTUALIZATION, Theme = theme, ThemeId = theme.ThemeId }; var response = await _httpClient.PostAsync("api/BaseActivityInfos/", new StringContent(JsonSerializer.Serialize(activity), Encoding.UTF8, MediaTypeNames.Application.Json)); Assert.AreEqual(expectedHttpStatus, response.StatusCode); if (expectedHttpStatus == HttpStatusCode.Created) { // Get created theme from body var postResponseBody = await response.Content.ReadAsStringAsync(); var new_activity = JsonSerializer.Deserialize <BaseActivityInfo>(postResponseBody); // Check the result Assert.IsNotNull(new_activity); Assert.AreEqual(activity.Name, new_activity.Name); Assert.AreEqual(activity.Description, new_activity.Description); // return the new activity return(new_activity); } return(null); }
private async void DelActivityAsync(BaseActivityInfo activity, HttpStatusCode expectedHttpStatus) { var response = await _httpClient.DeleteAsync("api/BaseActivityInfos/" + activity.BaseActivityInfoId); Assert.AreEqual(expectedHttpStatus, response.StatusCode); }