Skip to content

Commit 3e7a322

Browse files
committed
Moved waitfor extensions and itestcontext to core
1 parent c3c2802 commit 3e7a322

20 files changed

Lines changed: 163 additions & 123 deletions

src/bunit.web/Extensions/Internal/TimeSpanExtensions.cs renamed to src/bunit.core/Extensions/TimeSpanExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Diagnostics;
33
using System.Threading;
44

@@ -7,7 +7,7 @@ namespace Bunit
77
/// <summary>
88
/// Helper methods for working with <see cref="TimeSpan"/>.
99
/// </summary>
10-
internal static class TimeSpanExtensions
10+
public static class TimeSpanExtensions
1111
{
1212
/// <summary>
1313
/// Returns a timeout time as a <see cref="TimeSpan"/>, set to <see cref="Timeout.InfiniteTimeSpan"/>

src/bunit.web/Extensions/RenderWaitingHelperExtensions.cs renamed to src/bunit.core/Extensions/WaitForExtensions/RenderWaitingHelperExtensions.cs

File renamed without changes.

src/bunit.web/Extensions/WaitForAssertionFailedException.cs renamed to src/bunit.core/Extensions/WaitForExtensions/WaitForAssertionFailedException.cs

File renamed without changes.

src/bunit.web/Extensions/WaitForRenderFailedException.cs renamed to src/bunit.core/Extensions/WaitForExtensions/WaitForRenderFailedException.cs

File renamed without changes.

src/bunit.web/Extensions/WaitForStateFailedException.cs renamed to src/bunit.core/Extensions/WaitForExtensions/WaitForStateFailedException.cs

File renamed without changes.

src/bunit.web/Rendering/IRenderedComponent.cs renamed to src/bunit.core/IRenderedComponent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace Bunit
77
/// Represents a rendered component-under-test.
88
/// </summary>
99
/// <typeparam name="TComponent">The type of the component under test</typeparam>
10-
public interface IRenderedComponent<out TComponent> : IWebRenderedFragment where TComponent : IComponent
10+
public interface IRenderedComponent<out TComponent> : IRenderedFragment where TComponent : IComponent
1111
{
1212
/// <summary>
1313
/// Gets the component under test

src/bunit.core/ITestContext.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System;
2+
using Bunit.Rendering.RenderEvents;
3+
4+
namespace Bunit
5+
{
6+
/// <summary>
7+
/// A test context is a factory that makes it possible to create components under tests.
8+
/// </summary>
9+
public partial interface ITestContext : IDisposable
10+
{
11+
/// <summary>
12+
/// Gets the service collection and service provider that is used when a
13+
/// component is rendered by the test context.
14+
/// </summary>
15+
TestServiceProvider Services { get; }
16+
17+
/// <summary>
18+
/// Gets an <see cref="IObservable{RenderEvent}"/> which will provide subscribers with <see cref="RenderEvent"/>s from the
19+
/// related to this <see cref="ITestContext"/>.
20+
/// </summary>
21+
IObservable<RenderEvent> RenderEvents { get; }
22+
}
23+
}

src/bunit.web.tests/EventDispatchExtensions/TriggerEventSpy.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Threading.Tasks;
33
using AngleSharp.Dom;
44
using Bunit.Rendering;
@@ -9,13 +9,13 @@ namespace Bunit
99
{
1010
public class TriggerEventSpy<TEventArgs> where TEventArgs : EventArgs, new()
1111
{
12-
private readonly IRenderedComponent<TriggerTester<TEventArgs>> _renderedComponent;
12+
private readonly IWebRenderedComponent<TriggerTester<TEventArgs>> _renderedComponent;
1313
private readonly string _element;
1414
private TEventArgs? _receivedEvent;
1515

1616
public TEventArgs RaisedEvent => _receivedEvent!;
1717

18-
public TriggerEventSpy(Func<ComponentParameter[], IRenderedComponent<TriggerTester<TEventArgs>>> componentRenderer, string element, string eventName)
18+
public TriggerEventSpy(Func<ComponentParameter[], IWebRenderedComponent<TriggerTester<TEventArgs>>> componentRenderer, string element, string eventName)
1919
{
2020
if (componentRenderer is null) throw new ArgumentNullException(nameof(componentRenderer));
2121

src/bunit.web.tests/TestComponentBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,19 @@ public IWebRenderedFragment GetComponentUnderTest()
3434
=> _testContextAdapter.GetComponentUnderTest();
3535

3636
/// <inheritdoc/>
37-
public IRenderedComponent<TComponent> GetComponentUnderTest<TComponent>() where TComponent : IComponent
37+
public IWebRenderedComponent<TComponent> GetComponentUnderTest<TComponent>() where TComponent : IComponent
3838
=> _testContextAdapter.GetComponentUnderTest<TComponent>();
3939

4040
/// <inheritdoc/>
4141
public IWebRenderedFragment GetFragment(string? id = null)
4242
=> _testContextAdapter.GetFragment(id);
4343

4444
/// <inheritdoc/>
45-
public IRenderedComponent<TComponent> GetFragment<TComponent>(string? id = null) where TComponent : IComponent
45+
public IWebRenderedComponent<TComponent> GetFragment<TComponent>(string? id = null) where TComponent : IComponent
4646
=> _testContextAdapter.GetFragment<TComponent>(id);
4747

4848
/// <inheritdoc/>
49-
public override IRenderedComponent<TComponent> RenderComponent<TComponent>(params ComponentParameter[] parameters)
49+
public override IWebRenderedComponent<TComponent> RenderComponent<TComponent>(params ComponentParameter[] parameters)
5050
=> _testContextAdapter.HasActiveContext
5151
? _testContextAdapter.RenderComponent<TComponent>(parameters)
5252
: base.RenderComponent<TComponent>(parameters);

0 commit comments

Comments
 (0)