public void Uses_Uri_From_GetUri_As_Uri() { // Arrange var urlHelper = Substitute.For <IUrlHelper>(); var i0 = new MenuItem { Text = Rnd.Str, Controller = Rnd.Str }; var i1 = new MenuItem { Text = Rnd.Str, Controller = Rnd.Str }; var items = new[] { i0, i1 }.ToList(); var uri = Rnd.Str; var getUri = Substitute.For <GetUri>(); getUri.Invoke(urlHelper, Arg.Any <MenuItem>()).Returns(uri); // Act var result = MenuF.GetSimpleItems(urlHelper, items, getUri); // Assert Assert.Collection(result, x => Assert.Equal(uri, x.Url), x => Assert.Equal(uri, x.Url) ); }
public void No_Items_Returns_Empty_List() { // Arrange var urlHelper = Substitute.For <IUrlHelper>(); var getUri = Substitute.For <GetUri>(); // Act var result = MenuF.GetSimpleItems(urlHelper, new(), getUri); // Assert Assert.Empty(result); }
public void Empty_List_Returns_Empty_List() { // Arrange var urlHelper = Substitute.For <IUrlHelper>(); var getUri = Substitute.For <GetUri>(); // Act var result = MenuF.GetUris(urlHelper, new(), getUri); // Assert Assert.Empty(result); getUri.DidNotReceiveWithAnyArgs().Invoke(urlHelper, Arg.Any <MenuItem>()); }
public async Task Appends_Done_On_Success() { // Arrange var result = new StringBuilder(); var handler = new MockHttpMessageHandler(); var client = new HttpClient(handler); var uri = "https://bfren.dev"; // Act await MenuF.LoadUriAsync(result, client, uri, CancellationToken.None); // Assert Assert.Contains("done", result.ToString()); }
public async Task Appends_Failed_On_Failure() { // Arrange var result = new StringBuilder(); var handler = new MockHttpMessageHandler(System.Net.HttpStatusCode.InternalServerError); var client = new HttpClient(handler); var uri = "https://bfren.dev"; // Act await MenuF.LoadUriAsync(result, client, uri, CancellationToken.None); // Assert Assert.Contains("failed", result.ToString()); }
public async Task Returns_Correct_Message() { // Arrange var result = new StringBuilder(); var handler = new MockHttpMessageHandler(); var client = new HttpClient(handler); var uri = "https://bfren.dev"; var expected = $"Loading {uri} .. done<br/>{Environment.NewLine}"; // Act await MenuF.LoadUriAsync(result, client, uri, CancellationToken.None); // Assert Assert.Equal(expected, result.ToString()); }
public void Calls_GetUri_For_Each_Item() { // Arrange var urlHelper = Substitute.For <IUrlHelper>(); var i0 = new MenuItem(); var i1 = new MenuItem(); var items = new[] { i0, i1 }.ToList(); var getUri = Substitute.For <GetUri>(); // Act var result = MenuF.GetUris(urlHelper, items, getUri); // Assert Assert.NotEmpty(result); getUri.Received(1).Invoke(urlHelper, i0); getUri.Received(1).Invoke(urlHelper, i1); }
public void Without_Text_Uses_Item_Controller_As_Text() { // Arrange var urlHelper = Substitute.For <IUrlHelper>(); var i0 = new MenuItem { Controller = Rnd.Str }; var i1 = new MenuItem { Controller = Rnd.Str }; var items = new[] { i0, i1 }.ToList(); var getUri = Substitute.For <GetUri>(); getUri.Invoke(urlHelper, Arg.Any <MenuItem>()).Returns(Rnd.Str); // Act var result = MenuF.GetSimpleItems(urlHelper, items, getUri); // Assert Assert.Collection(result, x => Assert.Equal(i0.Controller, x.Text), x => Assert.Equal(i1.Controller, x.Text) ); }