示例#1
0
        public async Task UpdateCompetencyNotFoundTest()
        {
            var objA = new CompetencyUpdateDto
            {
                Name = Guid.NewGuid().ToString(),
                Id   = Guid.NewGuid(),
            };

            using var srv = new TestServer(TestHostBuilder <Startup, IntegrationTestStartup>());
            var client = srv.CreateClient();

            GenerateAuthHeader(client, GenerateTestToken());

            var resp = await client.PutAsJsonAsync($"api/v1/Competencies.json?id={objA.Id}", objA);

            Assert.AreEqual(HttpStatusCode.NotFound, resp.StatusCode);
            Assert.AreEqual($"\"{nameof(Competency)} Not Found\"", await resp.Content.ReadAsStringAsync());
        }
示例#2
0
        public async Task <ActionResult> Put([FromQuery][RequiredNonDefault] Guid id, [FromBody] CompetencyUpdateDto value)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest($"Invalid {nameof(Competency)} Id"));
            }
            var comp = await _ctx.Competencies.FirstOrDefaultAsync(t => t.Id == id);

            if (null == comp)
            {
                return(NotFound($"{nameof(Competency)} Not Found"));
            }
            value.UpdateCompetency(comp);
            if (0 < await _ctx.SaveChangesAsync())
            {
                await _updatedPublisher.PublishAsync(comp);
            }
            return(Ok(comp));
        }