예제 #1
0
        public void ZeroDataCase()
        {
            // set empty record mock
            var forecasts   = new List <WeatherForecast>();
            var mockService = new MockWeatherService();

            mockService.Task.SetResult(forecasts);

            Services.AddSingleton <IWeatherService>(mockService);

            var fetchData = RenderComponent <FetchData>();

            // wait until table rendered
            fetchData.WaitForState(() => fetchData.FindAll(".table").Count > 0);

            var expectedHtml = @"<table class=""table"">
                                    <thead>
                                        <tr>
                                            <th>Date</th>
                                            <th>Temp. (C) </th>
                                            <th>Temp. (F) </th>
                                            <th>Summary </th>
                                        </tr>
                                    </thead>
                                <tbody>
                                </tbody>";

            fetchData.Find("table").MarkupMatches(expectedHtml);
        }
예제 #2
0
        public void LoadingBeforeLoadData()
        {
            // set empty record mock
            var forecasts   = new List <WeatherForecast>();
            var mockService = new MockWeatherService();

            mockService.Task.SetResult(forecasts);

            Services.AddSingleton <IWeatherService>(mockService);

            var fetchData = RenderComponent <FetchData>();

            var expectedHtml = @"Loading...";

            fetchData.Find("em").MarkupMatches(expectedHtml);
        }
예제 #3
0
        public void ExistsDataCase()
        {
            // set dummy record mock
            var forecasts = new List <WeatherForecast>();

            forecasts.Add(new WeatherForecast()
            {
                Date = new DateTime(2020, 5, 1), TemperatureC = 20, Summary = "Sunny"
            });
            forecasts.Add(new WeatherForecast()
            {
                Date = new DateTime(2020, 5, 2), TemperatureC = 10, Summary = "Rainy"
            });
            forecasts.Add(new WeatherForecast()
            {
                Date = new DateTime(2020, 5, 3), TemperatureC = 14, Summary = "Cloudy"
            });

            var mockService = new MockWeatherService();

            mockService.Task.SetResult(forecasts);

            Services.AddSingleton <IWeatherService>(mockService);

            var fetchData = RenderComponent <FetchData>();

            // wait until table rendered
            fetchData.WaitForState(() => fetchData.FindAll(".table").Count > 0);

            var expectedHtml = @"<table class=""table"">
                                    <thead>
                                        <tr>
                                            <th>Date</th>
                                            <th>Temp. (C) </th>
                                            <th>Temp. (F) </th>
                                            <th>Summary </th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                    <tr>
                                        <td>2020/05/01</td>
                                        <td>20</td>
                                        <td>67</td>
                                        <td>Sunny</td>
                                    </tr>
                                    <tr>
                                        <td>2020/05/02</td>
                                        <td>10</td>
                                        <td>49</td>
                                        <td>Rainy</td>
                                    </tr>
                                    <tr>
                                        <td>2020/05/03</td>
                                        <td>14</td>
                                        <td>57</td>
                                        <td>Cloudy</td>
                                    </tr>
                            </tbody>";

            fetchData.Find("table").MarkupMatches(expectedHtml);
        }