Example #1
0
        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;
        }
Example #3
0
        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);
        }