Ejemplo n.º 1
0
        public async Task CanCRUD()
        {
            var queuedEmails = await _queuedEmailRepository.GetAllAsync(query => query);

            queuedEmails.Count.Should().Be(_emails.Count);

            var email = await _queuedEmailService.GetQueuedEmailByIdAsync(_emails[0].Id);

            email.Body = "test";

            await _queuedEmailService.UpdateQueuedEmailAsync(email);

            (await _queuedEmailRepository.GetByIdAsync(_emails[0].Id)).Body.Should().Be(email.Body);

            await _queuedEmailService.DeleteQueuedEmailAsync(email);

            queuedEmails = await _queuedEmailRepository.GetAllAsync(query => query);

            queuedEmails.Count.Should().Be(_emails.Count - 1);

            await _queuedEmailService.DeleteQueuedEmailsAsync(_emails.Take(3).ToList());

            queuedEmails = await _queuedEmailRepository.GetAllAsync(query => query);

            queuedEmails.Count.Should().Be(_emails.Count - 3);

            await _queuedEmailService.DeleteAllEmailsAsync();

            queuedEmails = await _queuedEmailRepository.GetAllAsync(query => query);

            queuedEmails.Count.Should().Be(0);
        }
Ejemplo n.º 2
0
        /// <returns>A task that represents the asynchronous operation</returns>
        public virtual async Task <IActionResult> Delete(int id)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageMessageQueue))
            {
                return(AccessDeniedView());
            }

            //try to get a queued email with the specified id
            var email = await _queuedEmailService.GetQueuedEmailByIdAsync(id);

            if (email == null)
            {
                return(RedirectToAction("List"));
            }

            await _queuedEmailService.DeleteQueuedEmailAsync(email);

            _notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.System.QueuedEmails.Deleted"));

            return(RedirectToAction("List"));
        }