예제 #1
0
        public void TestMenuHub()
        {
            var context = MockContextFactory.Create();

            var getMenuService  = new MenuService(new MockDataService(context));
            var SubmenuService  = new SubmenuService(new MockDataService(context));
            var getItemsService = new ItemTypeService(new MockDataService(context));

            context.Menu.Add(new Database.Models.Menu
            {
                Id          = 1,
                Number      = 1,
                Description = "Sommer",
                Name        = "Sommerspeisen",
            });

            var request = new GetMenuRequest();

            var command = new Command <GetMenuRequest>();

            command.RequestId = "123";
            command.Arguments = request;

            var called = false;

            var hub = new MenuHub(getMenuService, SubmenuService, getItemsService);

            var responseType = "GetMenuResponse";
            var action       = new Action <Command <GetMenuResponse> >((response) =>
            {
                Assert.Equal(response.RequestId, command.RequestId);
                Assert.NotNull(response.Arguments.Menus);
                called = true;
            });

            hub.Clients = MockHubFactory.CreateClients(responseType, action);
            hub.GetMenuRequest(command);

            Assert.True(called);
        }