Пример #1
0
        public async Task <IActionResult> SendAddSerialEmail(SendAddSerialEmailRequest request)
        {
            var response = await mediator.Send(request);

            Log.Information($"User #{HttpContext.GetCurrentUserId()} sent add serial link to their email address");

            return(this.CreateResponse(response));
        }
Пример #2
0
        public void SetUp()
        {
            user = new User();
            user.Serials.Add(new Serial());
            user.Serials.Add(new Serial());
            user.IncreaseSerialsLimit(3);

            var generateAddSerialTokenResult = new GenerateAddSerialTokenResult
            {
                Email    = Test,
                Token    = Test,
                Username = Test
            };

            var emailTemplate = new EmailTemplate
            {
                TemplateName      = Test,
                Subject           = Test,
                Content           = Test,
                AllowedParameters = new[] { "{{username}}", "{{callbackUrl}}" }
            };

            request = new SendAddSerialEmailRequest
            {
                Serial = Test
            };

            serialService          = new Mock <ISerialService>();
            cryptoService          = new Mock <ICryptoService>();
            emailSender            = new Mock <IEmailSender>();
            userService            = new Mock <IUserService>();
            userTokenGenerator     = new Mock <IUserTokenGenerator>();
            emailTemplateGenerator = new Mock <IEmailTemplateGenerator>();
            var httpContextReader = new Mock <IHttpContextReader>();
            var configuration     = new Mock <IConfiguration>();

            serialService.Setup(ss => ss.SerialExists(It.IsAny <string>(), It.IsAny <int>()))
            .ReturnsAsync(false);
            userTokenGenerator.Setup(c => c.GenerateAddSerialToken())
            .ReturnsAsync(generateAddSerialTokenResult);
            cryptoService.Setup(c => c.Encrypt(It.IsAny <string>()))
            .Returns(Test);
            configuration.Setup(c => c.GetSection(It.IsAny <string>()))
            .Returns(new Mock <IConfigurationSection>().Object);
            emailTemplateGenerator.Setup(etg => etg.FindEmailTemplate(It.IsAny <string>()))
            .ReturnsAsync(emailTemplate);
            emailSender.Setup(es => es.Send(It.IsAny <EmailMessage>()))
            .ReturnsAsync(true);
            userService.Setup(us => us.GetUserWithSerials(It.IsAny <int>()))
            .ReturnsAsync(user);

            sendAddSerialEmailCommand = new SendAddSerialEmailCommand(serialService.Object, userService.Object,
                                                                      cryptoService.Object,
                                                                      emailSender.Object, userTokenGenerator.Object, emailTemplateGenerator.Object, httpContextReader.Object,
                                                                      configuration.Object);
        }