Skip to content

Commit d2497e3

Browse files
Copilotjaviercn
andcommitted
Add E2E test for IBrowserFile.Name property mapping to verify file name vs form field name
Co-authored-by: javiercn <[email protected]>
1 parent dc08c2e commit d2497e3

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

src/Components/test/E2ETest/ServerRenderingTests/FormHandlingTests/FormWithParentBindingContextTest.cs

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1365,10 +1365,39 @@ public void CanBindToFormWithFiles()
13651365
Assert.Equal($"Profile Picture: {profilePicture.Name}", Browser.Exists(By.Id("profile-picture")).Text);
13661366
Assert.Equal("Documents: 2", Browser.Exists(By.Id("documents")).Text);
13671367
Assert.Equal("Images: 3", Browser.Exists(By.Id("images")).Text);
1368-
Assert.Equal("Header Photo: Model.HeaderPhoto", Browser.Exists(By.Id("header-photo")).Text);
1368+
Assert.Equal($"Header Photo: {headerPhoto.Name}", Browser.Exists(By.Id("header-photo")).Text);
13691369
Assert.Equal("Total: 7", Browser.Exists(By.Id("form-collection")).Text);
13701370
}
13711371

1372+
[Fact]
1373+
public void IBrowserFileNameReturnsFileNameNotFormFieldName()
1374+
{
1375+
// Create a file with a specific name to verify it's returned correctly
1376+
var testFile = TempFile.Create(_tempDirectory, "txt", "Test file content for name validation.");
1377+
1378+
var dispatchToForm = new DispatchToForm(this)
1379+
{
1380+
Url = "forms/with-files",
1381+
FormCssSelector = "form",
1382+
FormIsEnhanced = false,
1383+
UpdateFormAction = () =>
1384+
{
1385+
// Upload file to HeaderPhoto field (which is an IBrowserFile)
1386+
// Form field name is "Model.HeaderPhoto" but file name should be testFile.Name
1387+
Browser.Exists(By.CssSelector("input[name='Model.HeaderPhoto']")).SendKeys(testFile.Path);
1388+
}
1389+
};
1390+
DispatchToFormCore(dispatchToForm);
1391+
1392+
// Verify that IBrowserFile.Name returns the actual file name, not the form field name
1393+
// Before the fix: would show "Header Photo: Model.HeaderPhoto" (form field name)
1394+
// After the fix: should show "Header Photo: {testFile.Name}" (actual file name)
1395+
Assert.Equal($"Header Photo: {testFile.Name}", Browser.Exists(By.Id("header-photo")).Text);
1396+
1397+
// Ensure the file name is actually different from the form field name to validate the test
1398+
Assert.NotEqual("Model.HeaderPhoto", testFile.Name);
1399+
}
1400+
13721401
[Theory]
13731402
// [InlineData(true)] QuarantinedTest: https://github.com/dotnet/aspnetcore/issues/61882
13741403
[InlineData(false)]

0 commit comments

Comments
 (0)