Пример #1
0
        public void ShouldSanitizeSMS()
        {
            string smsNumber = "1234561234";

            Mock <IMessagingVerificationDelegate> messagingVerificationDelegateMock = new ();

            messagingVerificationDelegateMock
            .Setup(
                s => s.Insert(It.IsAny <MessagingVerification>())).Returns(default(Guid));

            IUserSMSService service = new UserSMSService(
                new Mock <ILogger <UserSMSService> >().Object,
                messagingVerificationDelegateMock.Object,
                new Mock <IUserProfileDelegate>().Object,
                new Mock <INotificationSettingsService>().Object);

            service.CreateUserSMS(HdIdMock, smsNumber);
            messagingVerificationDelegateMock
            .Verify(
                s => s.Insert(It.Is <MessagingVerification>(x => x.HdId == HdIdMock && x.SMSNumber.All(char.IsDigit))));

            smsNumber = "(123)4561234";
            service.CreateUserSMS(HdIdMock, smsNumber);
            messagingVerificationDelegateMock
            .Verify(
                s => s.Insert(It.Is <MessagingVerification>(x => x.HdId == HdIdMock && x.SMSNumber.All(char.IsDigit))));

            smsNumber = "123 456 1234";
            service.CreateUserSMS(HdIdMock, smsNumber);
            messagingVerificationDelegateMock
            .Verify(
                s => s.Insert(It.Is <MessagingVerification>(x => x.HdId == HdIdMock && x.SMSNumber.All(char.IsDigit))));

            smsNumber = "+1 123-456-1234";
            service.CreateUserSMS(HdIdMock, smsNumber);
            messagingVerificationDelegateMock
            .Verify(
                s => s.Insert(It.Is <MessagingVerification>(x => x.HdId == HdIdMock && x.SMSNumber.All(char.IsDigit))));
        }