예제 #1
0
        public async Task By_default_schedule_the_activity_with_workflow_input()
        {
            var @event   = new ManualResetEvent(false);
            var workflow = new WorkflowWithMultipleParent();

            workflow.Closed += (s, e) => @event.Set();
            _workflowHost    = await HostAsync(workflow);

            await _domain.StartWorkflow <WorkflowWithMultipleParent>("input", _taskListName);

            @event.WaitOne();

            Assert.That(SendEmailActivity.Input.File1, Is.EqualTo("TranscodedPathMP4"));
            Assert.That(SendEmailActivity.Input.File2, Is.EqualTo("TranscodedPathAV"));
        }
예제 #2
0
        public async Task On_signal_can_schedule_paused_workflow()
        {
            var    @event   = new AutoResetEvent(false);
            var    workflow = new WorkflowWithMultipleParent(@event);
            string result   = null;

            workflow.Completed += (s, e) => { result = e.Result; @event.Set(); };
            _workflowHost       = await HostAsync(workflow);

            var workflowId = await _domain.StartWorkflow <WorkflowWithMultipleParent>("input", _taskListName);

            @event.WaitOne();

            await _domain.SendSignal(workflowId, "InventoryFilled", "Enough");

            @event.WaitOne();

            Assert.That(result, Is.EqualTo("Item is on the way"));
        }