public void CreateNewEmailTest()
        {
            Person harry = new Person()
            {
                Firstname = "Harry", Email = "*****@*****.**"
            };
            Person ron = new Person()
            {
                Firstname = "Ron", Email = "Wrong Address"
            };

            IEntityService entityService = Container.GetExportedValue <IEntityService>();

            entityService.Persons.Add(harry);
            entityService.Persons.Add(ron);

            PersonController personController = Container.GetExportedValue <PersonController>();

            personController.Initialize();

            MockPersonListView  personListView      = Container.GetExportedValue <MockPersonListView>();
            PersonListViewModel personListViewModel = ViewHelper.GetViewModel <PersonListViewModel>(personListView);
            MockPersonView      personView          = Container.GetExportedValue <MockPersonView>();
            PersonViewModel     personViewModel     = ViewHelper.GetViewModel <PersonViewModel>(personView);

            ICommand command = personListViewModel.CreateNewEmailCommand;

            Assert.AreEqual(command, personViewModel.CreateNewEmailCommand);

            MockEmailService emailService = Container.GetExportedValue <MockEmailService>();

            command.Execute(harry);
            Assert.AreEqual(harry.Email, emailService.ToEmailAddress);

            // An error message should occur when the email address is invalid.

            MockMessageService messageService = Container.GetExportedValue <MockMessageService>();

            messageService.Clear();
            emailService.ToEmailAddress = null;
            command.Execute(ron);
            Assert.AreEqual(MessageType.Error, messageService.MessageType);
            Assert.AreEqual(Resources.CorrectEmailAddress, messageService.Message);
            Assert.IsNull(emailService.ToEmailAddress);

            // An error message should occur when no email address was entered.

            messageService.Clear();
            emailService.ToEmailAddress = null;
            ron.Email = null;
            command.Execute(ron);
            Assert.AreEqual(MessageType.Error, messageService.MessageType);
            Assert.AreEqual(Resources.CorrectEmailAddress, messageService.Message);
            Assert.IsNull(emailService.ToEmailAddress);
        }
        public static async Task SendEmailAsync_MessageHasExpectedFormatItems()
        {
            object[] formatItems = { 1, "2" };
            var      service     = new MockEmailService();
            var      template    = new EmailMessageTemplate(new EmailAddressTemplate("*****@*****.**"));

            await service.SendEmailAsync(template, new EmailAddress("*****@*****.**"), formatItems);

            service.SentMessage.HtmlBody !.FormatItems.Should().BeEquivalentTo(formatItems);
            service.SentMessage.TextBody !.FormatItems.Should().BeEquivalentTo(formatItems);
        }
        public static async Task SendEmailAsync_MessageHasExpectedRecipient()
        {
            var recipient = new EmailAddress("*****@*****.**");
            var service   = new MockEmailService();
            var template  = new EmailMessageTemplate(new EmailAddressTemplate("*****@*****.**"));

            await service.SendEmailAsync(template, recipient);

            service.SentMessage.Recipients.Should().HaveCount(1);
            service.SentMessage.Recipients[0].Should().BeSameAs(recipient);
        }
Example #4
0
        protected override void Setup()
        {
            Context.AccessRequests.RemoveRange(Context.AccessRequests);

            Context.OrganisationUsers.RemoveRange(Context.OrganisationUsers);
            Context.Organisations.RemoveRange(Context.Organisations);
            Context.Users.RemoveRange(Context.Users);

            Context.Save();

            _emailService = new MockEmailService();

            _system = new AccessRequestService(Context, _emailService);
        }
        public static async Task SendEmailAsync_UsesMessageTemplate()
        {
            // ReSharper disable once StringLiteralTypo
            const string subject = "Banitsa";

            var service  = new MockEmailService();
            var template = new EmailMessageTemplate(new EmailAddressTemplate("*****@*****.**"))
            {
                Subject = subject,
            };

            await service.SendEmailAsync(template, new EmailAddress("*****@*****.**"));

            service.SentMessage.Subject.Should().Be(subject);
        }
Example #6
0
        //[Test]
        public void Analyze_WebServiceThrows_SendsEmail()
        {
            var stubService = new StubService();

            stubService.ToThrow = new Exception("fake exception");

            var mockEmail = new MockEmailService();

            var log = new LogAnalyzer2(stubService, mockEmail);

            string tooShortFileName = "abc.ext";

            log.Analyze(tooShortFileName);

            Assert.AreEqual("a", mockEmail.To);
            Assert.AreEqual("fake exception", mockEmail.Body);
            Assert.AreEqual("subject", mockEmail.Subject);
        }
Example #7
0
        public async Task Event_Created_SendsEmail(string groupName)
        {
            await ExecuteWithDb(async (db) =>
            {
                var handler = new GroupCreatedEventHandler(MockMediator.Object, db, Mapper,
                                                           MockAuthorizationService.Object, MockEmailService.Object,
                                                           LoggerFactory.CreateLogger <GroupCreatedEventHandler>());

                var group        = SeedHelper.CreateValidNewGroup(db, groupName);
                var notification = new GroupCreatedDomainEvent(group);

                await handler.Handle(notification, default);
                return(Task.CompletedTask);
            }, (_, db) =>
            {
                MockEmailService.Verify(x => x.SendEmailAsync(It.IsNotNull <string>(),
                                                              It.IsNotNull <string>(),
                                                              It.Is <string>(subject => subject.Contains(groupName)),
                                                              It.IsNotNull <string>()),
                                        Times.Once);
            });
        }
        public async Task Setup()
        {
            context = await TestDatabase.GetDatabaseContext();

            MockEmailService                 = new MockEmailService();
            MockUsersRepository              = new MockUsersRepository(context);
            MockAppsRepository               = new MockAppsRepository(context);
            MockRolesRepository              = new MockRolesRepository(context);
            MockAppAdminsRepository          = new MockAppAdminsRepository(context);
            MockEmailConfirmationsRepository = new MockEmailConfirmationsRepository(context);
            MockPasswordResetRepository      = new MockPasswordResetsRepository(context);

            sut = new UsersService(
                MockUsersRepository.UsersRepositorySuccessfulRequest.Object,
                MockAppsRepository.AppsRepositorySuccessfulRequest.Object,
                MockRolesRepository.RolesRepositorySuccessfulRequest.Object,
                MockAppAdminsRepository.AppAdminsRepositorySuccessfulRequest.Object,
                MockEmailConfirmationsRepository.EmailConfirmationsRepositorySuccessfulRequest.Object,
                MockPasswordResetRepository.PasswordResetsRepositorySuccessfulRequest.Object,
                MockEmailService.EmailServiceSuccessfulRequest.Object);

            sutFailure = new UsersService(
                MockUsersRepository.UsersRepositoryFailedRequest.Object,
                MockAppsRepository.AppsRepositorySuccessfulRequest.Object,
                MockRolesRepository.RolesRepositorySuccessfulRequest.Object,
                MockAppAdminsRepository.AppAdminsRepositoryFailedRequest.Object,
                MockEmailConfirmationsRepository.EmailConfirmationsRepositoryFailedRequest.Object,
                MockPasswordResetRepository.PasswordResetsRepositorySuccessfulRequest.Object,
                MockEmailService.EmailServiceSuccessfulRequest.Object);

            sutEmailFailure = new UsersService(
                MockUsersRepository.UsersRepositoryEmailFailedRequest.Object,
                MockAppsRepository.AppsRepositorySuccessfulRequest.Object,
                MockRolesRepository.RolesRepositorySuccessfulRequest.Object,
                MockAppAdminsRepository.AppAdminsRepositoryFailedRequest.Object,
                MockEmailConfirmationsRepository.EmailConfirmationsRepositoryFailedRequest.Object,
                MockPasswordResetRepository.PasswordResetsRepositorySuccessfulRequest.Object,
                MockEmailService.EmailServiceSuccessfulRequest.Object);

            sutResetPassword = new UsersService(
                MockUsersRepository.UsersRepositoryInitiatePasswordSuccessful.Object,
                MockAppsRepository.AppsRepositoryInitiatePasswordSuccessfulRequest.Object,
                MockRolesRepository.RolesRepositorySuccessfulRequest.Object,
                MockAppAdminsRepository.AppAdminsRepositorySuccessfulRequest.Object,
                MockEmailConfirmationsRepository.EmailConfirmationsRepositorySuccessfulRequest.Object,
                MockPasswordResetRepository.PasswordResetsRepositorySuccessfulRequest.Object,
                MockEmailService.EmailServiceSuccessfulRequest.Object);

            sutResendEmailConfirmation = new UsersService(
                MockUsersRepository.UsersRepositoryResendEmailConfirmationSuccessful.Object,
                MockAppsRepository.AppsRepositorySuccessfulRequest.Object,
                MockRolesRepository.RolesRepositorySuccessfulRequest.Object,
                MockAppAdminsRepository.AppAdminsRepositorySuccessfulRequest.Object,
                MockEmailConfirmationsRepository.EmailConfirmationsRepositorySuccessfulRequest.Object,
                MockPasswordResetRepository.PasswordResetsRepositorySuccessfulRequest.Object,
                MockEmailService.EmailServiceSuccessfulRequest.Object);

            sutRequestPasswordReset = new UsersService(
                MockUsersRepository.UsersRepositorySuccessfulRequest.Object,
                MockAppsRepository.AppsRepositorySuccessfulRequest.Object,
                MockRolesRepository.RolesRepositorySuccessfulRequest.Object,
                MockAppAdminsRepository.AppAdminsRepositorySuccessfulRequest.Object,
                MockEmailConfirmationsRepository.EmailConfirmationsRepositorySuccessfulRequest.Object,
                MockPasswordResetRepository.PasswordResetsRepositorySuccessfullCreateRequest.Object,
                MockEmailService.EmailServiceSuccessfulRequest.Object);

            baseRequest = TestObjects.GetBaseRequest();
        }