public async Task <bool> TestInvokeAsync_SendToPropertyInspector(string sendToPluginEvent, string sendToPropertyInspectorEvent)
        {
            int callCount = 0;

            // given
            var streamDeckSender = new Mock <IStreamDeckSender>();

            streamDeckSender.Setup(s => s.SendToPropertyInspectorAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <object>()))
            .Callback <string, string, object>((contextUUID, actionUUID, payload) => {
                if (actionUUID == CONTEXT.Action && contextUUID == CONTEXT.Context && ((FooPropertyInspectorPayload)payload).Event == sendToPropertyInspectorEvent)
                {
                    callCount++;
                }
            }).Returns(() => Task.CompletedTask);

            var action = new FooStreamDeckAction();
            var args   = this.GetArgs(sendToPluginEvent);

            action.Initialize(CONTEXT, streamDeckSender.Object);

            // when
            await this.Collection.InvokeAsync(action, args);

            // then
            return(callCount > 0);
        }
        public async Task <bool> TestInvokeAsync_FindsEvent(string @event)
        {
            // given
            var action = new FooStreamDeckAction();

            action.Initialize(CONTEXT, new Mock <IStreamDeckSender>().Object);
            var args = this.GetArgs(@event);

            // when, then
            await this.Collection.InvokeAsync(action, args);

            return(action.OverallMethodCallCount == 1);
        }
Exemplo n.º 3
0
        public async Task <string> TestInvoke(string methodName)
        {
            // given
            (var methodInfo, var attr) = this.GetParameters(methodName);
            var testCase = new PropertyInspectorMethodInfo(methodInfo, attr);

            // when
            var action = new FooStreamDeckAction();
            var args   = new ActionEventArgs <JObject>()
            {
                Payload = JObject.FromObject(new FooPropertyInspectorPayload())
            };
            var result = await testCase.InvokeAsync(action, args).ConfigureAwait(false);

            // then
            Assert.That(action.MethodCallCount[methodName], Is.EqualTo(1));
            return(testCase.HasResult ? ((FooPropertyInspectorPayload)result).Source : null);
        }