/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Components/Testing/test/PlaywrightExtensionsTests.cs
95 строк
3 KB
Javier Calvarro Nelson
[Blazor] Add Components.Testing E2E test infrastructure (#65958)
15 апр 2026, 18:32
Не верифицирован
15 апр 2026, 18:32
33557cf
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.AspNetCore.Components.Testing.Infrastructure; using Microsoft.Playwright; namespace Microsoft.AspNetCore.Components.Testing.Tests; public class PlaywrightExtensionsTests { [Fact] public void WithServerRouting_SetsXTestBackendHeader() { // Arrange var options = new BrowserNewContextOptions(); var server = CreateMockServerInstance(); // Act var result = options.WithServerRouting(server); // Assert Assert.Same(options, result); Assert.NotNull(options.ExtraHTTPHeaders); var headers = options.ExtraHTTPHeaders!.ToDictionary(x => x.Key, x => x.Value); Assert.Equal(server.Id, headers["X-Test-Backend"]); } [Fact] public void WithServerRouting_PreservesExistingHeaders() { var options = new BrowserNewContextOptions { ExtraHTTPHeaders = new Dictionary<string, string> { ["Authorization"] = "Bearer token123" } }; var server = CreateMockServerInstance(); options.WithServerRouting(server); var headers = options.ExtraHTTPHeaders!.ToDictionary(x => x.Key, x => x.Value); Assert.Equal("Bearer token123", headers["Authorization"]); Assert.Equal(server.Id, headers["X-Test-Backend"]); } [Fact] public void WithServerRouting_ReturnsChainableInstance() { // Arrange var options = new BrowserNewContextOptions(); var server = CreateMockServerInstance(); // Act var result = options.WithServerRouting(server); // Assert — fluent API returns the same instance Assert.Same(options, result); } [Fact] public void WithArtifacts_WithoutEnvVar_DoesNotSetRecordVideoDir() { // Arrange var options = new BrowserNewContextOptions(); // Act — PLAYWRIGHT_RECORD_VIDEO is not set in test env var result = options.WithArtifacts("/some/dir"); // Assert Assert.Same(options, result); Assert.Null(options.RecordVideoDir); } [Fact] public void WithArtifacts_NullDir_DoesNotSetRecordVideoDir() { // Arrange var options = new BrowserNewContextOptions(); // Act var result = options.WithArtifacts(null); // Assert Assert.Same(options, result); Assert.Null(options.RecordVideoDir); } static ServerInstance CreateMockServerInstance() { // InternalsVisibleTo grants access to the internal constructor. // Id is auto-generated (Guid); we use the real Id in assertions. return new ServerInstance("TestApp", "key", "http://localhost:5000", null); } }