Пример #1
0
        public void CreateEnvelope_WhenDocumentTypeI9AndLoginTypeCodeGrant_RequestedEnvelopeTemplateWithIdvNotEnabled(
            UserDetails userInformation,
            UserDetails additionalUser)
        {
            //Arrange
            _userService.Setup(x => x.GetUserDetails(_accountId, _userId, _loginType)).Returns(userInformation);
            _accountsApi.Setup(x => x.GetAccountIdentityVerification(_accountId)).Returns(() =>
                                                                                          new AccountIdentityVerificationResponse
            {
                IdentityVerification = new List <AccountIdentityVerificationWorkflow>
                {
                    new AccountIdentityVerificationWorkflow(WorkflowId: "100")
                }
            });
            _docuSignApiProvider.SetupGet(c => c.AccountsApi).Returns(_accountsApi.Object);

            var sut = new EnvelopeService(_docuSignApiProvider.Object, _userService.Object, SetupConfiguration());

            //Act
            sut.CreateEnvelope(DocumentType.I9, _accountId, _userId, LoginType.CodeGrant, additionalUser, "", "");

            //Assert
            EnvelopeTemplate templateToExpect = new I9TemplateHandler().BuildTemplate("../../../../DocuSign.MyHR/");

            templateToExpect.Recipients.Signers.First().IdentityVerification = null;

            _docuSignApiProvider.Verify(mock => mock.TemplatesApi.CreateTemplate(_accountId, templateToExpect), Times.Once());
        }
Пример #2
0
        public void Create_from_EventMessage_uses_serializer([Frozen] ISerializer serializer, EnvelopeService sut, EventMessage <FirstTestEvent> testMessage)
        {
            var envelope = sut.CreateEnvelope(testMessage);

            Assert.That(envelope, Is.Not.Null);

            Mock.Get(serializer).Verify(p => p.SerializeObject(testMessage.Event), Times.Once);
        }
Пример #3
0
        public void CreateEnvelope_WhenUserIdNull_ThrowsArgumentException(
            DocumentType type,
            UserDetails additionalUser)
        {
            //Arrange
            var sut = new EnvelopeService(_docuSignApiProvider.Object, _userService.Object, SetupConfiguration());

            //Act - Assert
            Assert.Throws <ArgumentNullException>(() => sut.CreateEnvelope(type, _accountId, null, LoginType.CodeGrant, additionalUser, "", ""));
        }
Пример #4
0
        public void Create_from_EventMessage_can_create_envelope(EnvelopeService sut, EventMessage <FirstTestEvent> testMessage)
        {
            var envelope = sut.CreateEnvelope(testMessage);

            Assert.That(envelope, Is.Not.Null);
            Assert.That(envelope.Type, Is.EqualTo(testMessage.Type));
            Assert.That(envelope.Headers, Is.SameAs(testMessage.Headers));
            Assert.That(envelope.MessageId, Is.EqualTo(testMessage.MessageId));
            Assert.That(envelope.MessageType, Is.EqualTo(testMessage.MessageType));
        }
Пример #5
0
        public void CreateEnvelope_WhenAdditionalUserNullAndDocumentTypeDirectDepositOrW4_NotThrowsArgumentException(
            DocumentType type,
            UserDetails userInformation)
        {
            //Arrange
            _userService.Setup(x => x.GetUserDetails(_accountId, _userId, _loginType)).Returns(userInformation);
            var sut = new EnvelopeService(_docuSignApiProvider.Object, _userService.Object, SetupConfiguration());

            //Act - Assert
            sut.CreateEnvelope(type, _accountId, _userId, LoginType.CodeGrant, null, "", "");
        }
Пример #6
0
        public void CreateEnvelope_WhenDocumentTypeNone_ThrowsInvalidOperationException(
            DocumentType type,
            UserDetails userInformation,
            UserDetails additionalUser)
        {
            //Arrange
            _userService.Setup(x => x.GetUserDetails(_accountId, _userId, _loginType)).Returns(userInformation);

            var sut = new EnvelopeService(_docuSignApiProvider.Object, _userService.Object, SetupConfiguration());

            //Act
            //Assert
            Assert.Throws <InvalidOperationException>(() =>
                                                      sut.CreateEnvelope(type, _accountId, _userId, LoginType.CodeGrant, additionalUser, "", ""));
        }
Пример #7
0
        public void CreateEnvelope_WhenCorrectParametersAndWhenDocumentTypeI9_ReturnsCorrectResultWithRedirectUrlEmply(
            DocumentType type,
            UserDetails userInformation,
            UserDetails additionalUser)
        {
            //Arrange
            _userService.Setup(x => x.GetUserDetails(_accountId, _userId, _loginType)).Returns(userInformation);

            var sut = new EnvelopeService(_docuSignApiProvider.Object, _userService.Object, SetupConfiguration());

            //Act
            CreateEnvelopeResponse res = sut.CreateEnvelope(type, _accountId, _userId, LoginType.CodeGrant, additionalUser, "", "");

            //Assert
            res.Should().BeEquivalentTo(new CreateEnvelopeResponse(string.Empty, "1"));
        }
Пример #8
0
        public void CreateEnvelope_WhenCorrectParameters_ReturnsCorrectResult(
            DocumentType type,
            UserDetails userInformation,
            UserDetails additionalUser)
        {
            //Arrange
            _userService.Setup(x => x.GetUserDetails(_accountId, _userId, _loginType)).Returns(userInformation);

            var sut = new EnvelopeService(_docuSignApiProvider.Object, _userService.Object, SetupConfiguration());

            //Act
            CreateEnvelopeResponse res = sut.CreateEnvelope(type, _accountId, _userId, LoginType.CodeGrant, additionalUser, "", "");

            //Assert
            res.Should().BeEquivalentTo(new CreateEnvelopeResponse(
                                            $"accountId={_accountId}&templateId=1&userEmail={userInformation.Email}&userName={userInformation.Name}",
                                            "1"));
        }
Пример #9
0
        public void CreateEnvelope_WhenDocumentTypeI9AndLoginTypeJWTButIdvForAccountNotEnabled_ThrowsIDVException(
            UserDetails userInformation,
            UserDetails additionalUser)
        {
            //Arrange
            _userService.Setup(x => x.GetUserDetails(_accountId, _userId, _loginType)).Returns(userInformation);
            _accountsApi.Setup(x => x.GetAccountIdentityVerification(_accountId))
            .Returns(() =>
                     new AccountIdentityVerificationResponse
            {
                IdentityVerification = new List <AccountIdentityVerificationWorkflow>()
            });
            _docuSignApiProvider.SetupGet(c => c.AccountsApi).Returns(_accountsApi.Object);

            var sut = new EnvelopeService(_docuSignApiProvider.Object, _userService.Object, SetupConfiguration());

            //Act
            //Assert
            Assert.Throws <IDVException>(() => sut.CreateEnvelope(DocumentType.I9, _accountId, _userId, LoginType.JWT, additionalUser, "", ""));
        }
Пример #10
0
 public void Create_from_EventMessage_requires_valid_message(EnvelopeService sut)
 {
     Assert.Throws <ArgumentNullException>(() => sut.CreateEnvelope((EventMessage <FirstTestEvent>)null));
 }