Skip to content

Commit 54917ec

Browse files
committed
Update Newtonsoft.Json package to version 13.0.1
Add unit tests for message text validation
1 parent 85aadde commit 54917ec

File tree

2 files changed

+49
-12
lines changed

2 files changed

+49
-12
lines changed
Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
2-
32
<PropertyGroup>
43
<TargetFramework>net8.0</TargetFramework>
54
</PropertyGroup>
6-
75
<!-- https://github.com/NuGet/Home/issues/4412 -->
8-
9-
106
<ItemGroup>
117
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="8.0.3" />
128
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.3" />
139
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.3" />
1410
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
1511
<PackageReference Include="Moq" Version="4.20.70" />
16-
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
12+
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
1713
<PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />
1814
<PackageReference Include="System.Net.Http" Version="4.3.4" />
1915
<PackageReference Include="xunit" Version="2.7.0" />
@@ -22,12 +18,7 @@
2218
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2319
</PackageReference>
2420
</ItemGroup>
25-
26-
2721
<ItemGroup>
28-
<Reference Include="RazorPagesTestSample">
29-
<HintPath>..\..\src\RazorPagesTestSample\bin\Debug\net8.0\RazorPagesTestSample.dll</HintPath>
30-
</Reference>
22+
<ProjectReference Include="..\..\src\RazorPagesTestSample\RazorPagesTestSample.csproj" />
3123
</ItemGroup>
32-
33-
</Project>
24+
</Project>
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
using System.ComponentModel.DataAnnotations;
2+
using RazorPagesTestSample.Data;
3+
using Xunit;
4+
5+
namespace RazorPagesTestSample.Tests.UnitTests
6+
{
7+
public class MessageTests
8+
{
9+
[Fact]
10+
public void MessageText_ShouldNotExceed250Characters()
11+
{
12+
// Arrange
13+
var message = new Message
14+
{
15+
Text = new string('a', 251) // 251 characters
16+
};
17+
var validationContext = new ValidationContext(message);
18+
var validationResults = new List<ValidationResult>();
19+
20+
// Act
21+
var isValid = Validator.TryValidateObject(message, validationContext, validationResults, true);
22+
23+
// Assert
24+
Assert.False(isValid);
25+
Assert.Contains(validationResults, v => v.ErrorMessage.Contains("250 character limit"));
26+
}
27+
28+
[Fact]
29+
public void MessageText_ShouldBeValid_WhenWithin250Characters()
30+
{
31+
// Arrange
32+
var message = new Message
33+
{
34+
Text = new string('a', 250) // 250 characters
35+
};
36+
var validationContext = new ValidationContext(message);
37+
var validationResults = new List<ValidationResult>();
38+
39+
// Act
40+
var isValid = Validator.TryValidateObject(message, validationContext, validationResults, true);
41+
42+
// Assert
43+
Assert.True(isValid);
44+
}
45+
}
46+
}

0 commit comments

Comments
 (0)