public void When_sending_a_rejection_email()
        {
            var email = S<IEmailService>();

            var organizer = new User("organizer")
            {
                Email = "*****@*****.**"
            };

            var callForSpeakers = new CallForSpeakers
            {
                Organizer = organizer,
                EventName = "event"
            };

            var speaker = new User("foo")
            {
                Email = "*****@*****.**"
            };

            var submission = new Submission(speaker, new SubmissionViewModel {Title = "title"}, callForSpeakers)
            {
                RejectionReason = "rejection reason"
            };

            var sender = new DomainEmailSender(email);
            sender.SubmissionRejection(submission);

            emailMessage = (EmailMessage) email.GetArgumentsForCallsMadeOn(x => x.Send(null))[0][0];
        }
Esempio n. 2
0
        public void When_accepting_a_submission()
        {
            var sub = new Submission(new User("foo"), new SubmissionViewModel(), new CallForSpeakers());
            var domainEmailSender = S<IDomainEmailSender>();
            sub.Status.ShouldEqual(Submission.Submitted);

            sub.Accept(domainEmailSender);

            sub.Status.ShouldEqual(Submission.Accepted);
            domainEmailSender.AssertWasCalled(x => x.SubmissionAcceptance(sub));
        }
        public void SubmissionAcceptance(Submission submission)
        {
            var msg = new EmailMessage
            {
                To = new[] { submission.Submitter.Email },
                Subject = "Your submission to " + submission.CallForSpeakers.EventName,
                Cc = new[] { submission.CallForSpeakers.Organizer.Email },
                Text = string.Format("Congratulations! Your submission \"{0}\" has been accepted!", submission.Title)
            };

            _emailService.Send(msg);
        }
        public void SubmissionRejection(Submission submission)
        {
            var msg = new EmailMessage
            {
                To = new[] { submission.Submitter.Email },
                Subject = "Your submission to " + submission.CallForSpeakers.EventName,
                Cc = new[] { submission.CallForSpeakers.Organizer.Email },
                Text = string.Format("Your submission \"{0}\" has been rejected by the organizer: {1}", submission.Title, submission.RejectionReason)
            };

            _emailService.Send(msg);
        }
Esempio n. 5
0
        public void When_rejecting_a_submission()
        {
            var sub = new Submission(new User("foo"), new SubmissionViewModel(), new CallForSpeakers());
            var domainEmailSender = S<IDomainEmailSender>();
            sub.Status.ShouldEqual(Submission.Submitted);

            sub.Reject("reason", domainEmailSender);

            sub.RejectionReason.ShouldEqual("reason");
            sub.Status.ShouldEqual(Submission.Rejected);
            domainEmailSender.AssertWasCalled(x => x.SubmissionRejection(sub));
        }
        public ActionResult ProcessSubmission(User user, SubmissionViewModel input)
        {
            if (ModelState.IsValid)
            {
                using (var db = new DataContext(user))
                {
                    var found = db.CallsForSpeakers.Find(input.CallForSpeakersId);
                    if (found == null)
                    {
                        Error("There was a problem submitting this session");
                        return RedirectToAction("Index", "Home", new {area = ""});
                    }
                    var submission = new Submission(user, input, found);
                    db.Submissions.Add(submission);
                    db.SaveChanges();
                }

                Success("Successfully submitted session");
                return RedirectToAction("Index", "Home", new { area = "" });
            }
            return View("Create");
        }