public async Task Invalide_AfspraakMaken_TeLangeNaam() { var mockDbContext = new Mock <ApplicationDbContext>(); AfspraakController ac = new AfspraakController(mockDbContext.Object); ac.ModelState.AddModelError("Error", "Name too long"); AfspraakMaken am = new AfspraakMaken() { Gebruiker = new Gebruiker() { VoornaamAchternaam = "abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijh" }, Afspraak = new Afspraak() }; var result = await ac.Maken(am); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <AfspraakMaken>( viewResult.ViewData.Model); Assert.Equal(null, viewResult.ViewName); //Assert.Equal("afspraakMaken", viewResult.ViewName); waarom lukt dit niet? Assert.Equal("abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijh", model.Gebruiker.VoornaamAchternaam); }
public async Task <IActionResult> Maken([Bind("Afspraak,Gebruiker")] AfspraakMaken afspraakMaken) { if (ModelState.IsValid) { afspraakMaken.Afspraak.Gebruiker = afspraakMaken.Gebruiker; _context.Afspraak.Add(afspraakMaken.Afspraak); _context.Gebruiker.Add(afspraakMaken.Gebruiker); await _context.SaveChangesAsync(); //Email verzenden await Mail.VerzendAfspraak(afspraakMaken); return(RedirectToAction("Voltooid")); } return(View(afspraakMaken)); }
public static async Task VerzendAfspraak(AfspraakMaken afspraakMaken) { var builder = new BodyBuilder(); string path = Directory.GetCurrentDirectory() + @"\wwwroot\images\mail.png"; var banner = builder.LinkedResources.Add(path); banner.ContentId = MimeUtils.GenerateMessageId(); System.Diagnostics.Debug.WriteLine(path); var datum = afspraakMaken.Afspraak.Datum.ToString("MMMM dd, yyyy") + " om " + afspraakMaken.Afspraak.Tijd; builder.HtmlBody = string.Format(@" <table style=""width:100%;""> <tr> <td> <table style=""border-collapse: collapse; width:800px; margin: auto; "" > <tr> <td colspan=""2""><img style=""width:100%;"" src=""cid:{0}""> </td> </tr> <tr> <td style=""padding:20px; width:50%;""> <h1>Afspraak gemaakt!</h1> <p>Uw afspraak is gemaakt op:</p> <p>{1}</p> </td> <td style=""padding:20px; width:50%; background-color:#F0597C; color: white;""> <h4>Wilt u uw afspraak wijzigen?</h4> <p>Klik dan op de onderstaande link</p> <a href=""#"">honeymoonshop.nl/afspraak/wijzigen?verificationkey=86sab4ho84US84O</a> </td> </tr> <tr> <td colspan=""2"" style=""background-color:#FCE8E7; text-align:center; padding:20px;"" > <p> Korte Hoogstraat 4, 3011 GL Rotterdam <strong>email</strong> [email protected] <strong>tel</strong> (010) 412 61 43 <strong>whatsapp</strong> (06) 25 19 99 27 <br> <strong>Openingstijden </strong> <strong>MA </strong> 12.00-17.30 <strong>DI t/m VR </strong> 09.30-17.30 <strong>ZA </strong> 09.30-18.00 <strong>DI t/m VR</strong> 11.00-17.00 </p> </td> </tr> </table> </td> </tr> </table>", banner.ContentId, datum); await SendEmailAsync(afspraakMaken.Gebruiker.Email, "Honeymoonshop afspraakbevestiging", builder); }
public async Task Maak_Afspraak_In_AfspraakController() { Afspraak afspraak = new Afspraak() { Datum = Convert.ToDateTime("01 - 01 - 2017"), AfspraakSoort = SoortAfspraak.Trouwjurken, Tijd = "15 : 30" }; Gebruiker gebruiker = new Gebruiker() { VoornaamAchternaam = "Klaas-Jan Bruinsma", Email = "*****@*****.**", Nieuwsbrief = true, Telefoonnummer = "06-75567787", Trouwdatum = Convert.ToDateTime("10-10-2017") }; AfspraakMaken am = new AfspraakMaken() { Gebruiker = gebruiker, Afspraak = afspraak }; //am.Afspraak.Gebruiker = am.Gebruiker; var mockDbContext = new Mock <ApplicationDbContext>(); var mockDbSetAfspraak = new Mock <DbSet <Afspraak> >(); var mockDbSetGebruiker = new Mock <DbSet <Gebruiker> >(); //als afspraak of gebruiker uit de DbContext opgevraagd ook een mock object teruggeven mockDbContext.Setup(x => x.Afspraak).Returns(mockDbSetAfspraak.Object); mockDbContext.Setup(x => x.Gebruiker).Returns(mockDbSetGebruiker.Object); mockDbContext.Setup(x => x.SaveChangesAsync(new System.Threading.CancellationToken())).ReturnsAsync(1);//.Verifiable());//.ReturnsAsync(mockDbContext.Object); AfspraakController ac = new AfspraakController(mockDbContext.Object); var result = await ac.Maken(am); mockDbSetAfspraak.Verify(m => m.Add(It.IsAny <Afspraak>()), Times.Once()); mockDbSetAfspraak.Verify(m => m.Add(It.Is <Afspraak>(a => a.Tijd.Equals("15 : 30")))); mockDbSetGebruiker.Verify(m => m.Add(It.IsAny <Gebruiker>()), Times.Once()); mockDbSetGebruiker.Verify(m => m.Add(It.Is <Gebruiker>(g => g.VoornaamAchternaam.Equals("Klaas-Jan Bruinsma")))); mockDbContext.Verify(m => m.SaveChangesAsync(new System.Threading.CancellationToken()), Times.Once());//Times.Once failed }