示例#1
0
        public async Task SaveCompetencyTest()
        {
            var objA = new CompetencyInsertDto
            {
                Name = Guid.NewGuid().ToString()
            };

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

            GenerateAuthHeader(client, GenerateTestToken());

            var resp = await client.PostAsJsonAsync("api/v1/Competencies.json", objA);

            _ = resp.EnsureSuccessStatusCode();
            var result = await DeserializeResponseAsync <Competency>(resp);

            Assert.AreEqual(objA.Name, result.Name);
            Assert.IsTrue(result.IsEnabled);
            Assert.IsNotNull(result.CreatedBy);

            var ctx  = srv.GetDbContext <CompetenciesContext>();
            var comp = await ctx.Competencies.FirstOrDefaultAsync(t => t.Name == result.Name);

            Assert.IsNotNull(comp);
            Assert.AreEqual(result.CreatedOnUtc.ToString(), comp.CreatedOnUtc.ToString());
        }
示例#2
0
        public async Task <ActionResult> Post([FromBody] CompetencyInsertDto value)
        {
            var comp = value.ToCompetency();

            _ = await _ctx.Competencies.AddAsync(comp);

            if (0 < await _ctx.SaveChangesAsync())
            {
                await _createdPublisher.PublishAsync(comp);
            }
            return(Ok(comp));
        }