Esempio n. 1
0
        public void AutocompleteStarts()
        {
            LaraUI.InternalContext.Value = Context;
            var x        = new AutocompleteElement();
            var provider = new MyProvider();
            var options  = new AutocompleteOptions
            {
                Provider  = provider,
                AutoFocus = true,
                MinLength = 2,
                Strict    = true
            };

            x.Start(options);
            var doc    = new Document(new MyPage(), 100);
            var bridge = new Mock <IJsBridge>();

            Context.JSBridge = bridge.Object;

            const string code    = "LaraUI.autocompleteApply(context.Payload);";
            var          payload = new AutocompletePayload
            {
                AutoFocus = options.AutoFocus,
                ElementId = x.InnerInput.Id,
                MinLength = options.MinLength,
                Strict    = options.Strict
            };
            var json = LaraUI.JSON.Stringify(payload);

            bridge.Setup(x1 => x1.Submit(code, json));
            doc.Body.AppendChild(x);
            bridge.Verify(x2 => x2.Submit(code, json), Times.Once);
        }
Esempio n. 2
0
        public void OnDisconnectStops()
        {
            LaraUI.InternalContext.Value = Context;
            var x        = new AutocompleteElement();
            var provider = new MyProvider();
            var options  = new AutocompleteOptions
            {
                Provider  = provider,
                AutoFocus = true,
                MinLength = 2,
                Strict    = true
            };

            var doc    = new Document(new MyPage(), 100);
            var bridge = new Mock <IJsBridge>();

            Context.JSBridge = bridge.Object;
            doc.Body.AppendChild(x);

            x.Start(options);
            Assert.Equal(1, AutocompleteService.RegisteredCount);
            Assert.Same(options, x.GetOptions());

            x.Remove();
            Assert.Equal(0, AutocompleteService.RegisteredCount);
        }
Esempio n. 3
0
        public void AutocompleteOptionsStore()
        {
            var provider = new MyProvider();
            var options  = new AutocompleteOptions
            {
                Provider  = provider,
                AutoFocus = true,
                MinLength = 2,
                Strict    = true
            };

            Assert.Same(provider, options.Provider);
            Assert.True(options.AutoFocus);
            Assert.Equal(2, options.MinLength);
            Assert.True(options.Strict);
        }
Esempio n. 4
0
        public async void AutocompleteServiceRun()
        {
            LaraUI.InternalContext.Value = Context;
            var x        = new AutocompleteElement();
            var provider = new MyProvider();
            var options  = new AutocompleteOptions
            {
                Provider  = provider,
                AutoFocus = true,
                MinLength = 2,
                Strict    = true,
            };
            var doc    = new Document(new MyPage(), 100);
            var bridge = new Mock <IJsBridge>();

            Context.JSBridge = bridge.Object;
            doc.Body.AppendChild(x);
            x.Start(options);

            var service = new AutocompleteService();
            var request = new AutocompleteRequest
            {
                Key  = x.AutocompleteId,
                Term = "B"
            };

            Context.RequestBody = LaraUI.JSON.Stringify(request);
            var text = await service.Execute();

            var response = LaraUI.JSON.Parse <AutocompleteResponse>(text);

            Assert.Equal(3, response.Suggestions !.Count);
            var item = response.Suggestions[0];

            Assert.Equal("Red", item.Label);
            Assert.Equal("R", item.Code);
        }