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); }
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); }
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); }
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); }