Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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
        }