public async Task SaveCertificationTest() { var objA = new CertificationInsertDto { Name = Guid.NewGuid().ToString() }; using var apiSrv = new TestServer(TestHostBuilder <Startup, UnigrationWebApiTestStartup>()); var apiClient = apiSrv.CreateClient(); GenerateAuthHeader(apiClient, GenerateTestToken()); var resp = await apiClient.PostAsJsonAsync($"api/v1/{nameof(Certification)}s.json", objA); var result = await DeserializeResponseAsync <Certification>(resp); Assert.AreEqual(objA.Name, result.Name); Assert.AreEqual("*****@*****.**", result.CreatedBy); var dbContext = apiSrv.GetDbContext <CertificationsContext>(); var dbCert = await dbContext.Certifications.FirstOrDefaultAsync(f => f.Name == objA.Name); Assert.IsNotNull(dbCert); Assert.AreEqual(result.CreatedOnUtc, dbCert.CreatedOnUtc); }
public async Task SaveCertificationTest() { var objA = new CertificationInsertDto { Name = Guid.NewGuid().ToString() }; using var srv = new TestServer(TestHostBuilder <Startup, IntegrationWebApiTestStartup>()); var client = srv.CreateClient(); GenerateAuthHeader(client, GenerateTestToken()); var resp = await client.PostAsJsonAsync($"api/v1/{nameof(Certification)}s.json", objA); _ = resp.EnsureSuccessStatusCode(); var result = await DeserializeResponseAsync <Certification>(resp); Assert.AreEqual(objA.Name, result.Name); Assert.IsTrue(result.IsEnabled); Assert.IsNotNull(result.CreatedBy); var ctx = srv.GetDbContext <CertificationsContext>(); var cert = await ctx.Certifications.FirstOrDefaultAsync(t => t.Name == objA.Name); Assert.IsNotNull(cert); Assert.AreEqual(result.CreatedOnUtc.ToString(), cert.CreatedOnUtc.ToString()); var publisher = srv.GetTestService <IPublisher <Certification, CreatedEvent, Message>, ServiceBusQueuePublisher <Certification, CreatedEvent> >(); Assert.IsNotNull(publisher); }
public async Task <ActionResult> Post([FromBody] CertificationInsertDto value) { var obj = value.ToCertification(); _ = await _ctx.Certifications.AddAsync(obj); _ = await _ctx.SaveChangesAsync(); await _createdPublisher.PublishAsync(obj); return(Ok(obj)); }