public async Task Run_Always_ProducesExpectedCrate()
        {
            ObjectFactory.Container.ConfigureHubToReturnEmptyPayload();
            ObjectFactory.Container.GetInstance <Mock <IDocuSignFolders> >().Setup(x => x.GetFolderItems(It.IsAny <DocuSignApiConfiguration>(), It.IsAny <DocuSignQuery>()))
            .Returns(new[] { new FolderItem() });
            var activity        = ObjectFactory.Container.GetInstance <Query_DocuSign_v2>();
            var activityContext = new ActivityContext
            {
                HubCommunicator = ObjectFactory.GetInstance <IHubCommunicator>(),
                ActivityPayload = new ActivityPayload
                {
                    CrateStorage = new CrateStorage(),
                },
                AuthorizationToken = new AuthorizationToken {
                    Token = FakeToken.Token
                }
            };
            await activity.Configure(activityContext);

            var executionContext = FixtureData.ContainerExecutionContext1();
            await activity.Run(activityContext, executionContext);

            var payloadStorage = executionContext.PayloadStorage;
            var resultManifest = payloadStorage.FirstCrateOrDefault <DocuSignEnvelopeCM_v3>()?.Content;

            Assert.IsNotNull(resultManifest, "Run didn't produce crate with expected manifest");
            Assert.AreEqual(1, resultManifest.Envelopes.Count, "Run didn't get expected number of envelopes");
        }
        public async void Run_WhenNoAuthorization_Fails()
        {
            var activity         = New <BaseDocusignActivityMock>();
            var activityContext  = FixtureData.TestActivityContextWithoutAuthorization();
            var executionContext = FixtureData.ContainerExecutionContext1();
            await activity.Run(activityContext, executionContext);

            AssertEx.AssertPayloadHasAuthenticationError(executionContext.PayloadStorage);
        }