test(backend): add submission workflow, keyword and controller tests
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using TarninaHub.Application.Mappings;
|
||||
using TarninaHub.Application.Text;
|
||||
using TarninaHub.Domain.Enums;
|
||||
|
||||
namespace TarninaHub.Tests.Application;
|
||||
|
||||
public class KeywordExtractorTests
|
||||
{
|
||||
[Fact]
|
||||
public void Extract_RemovesStopWordsAndShortTokens()
|
||||
{
|
||||
var keywords = KeywordExtractor.Extract("To jest problem dla seniorów i seniorów w gminie");
|
||||
|
||||
Assert.Contains("seniorów", keywords);
|
||||
Assert.Contains("problem", keywords);
|
||||
Assert.DoesNotContain("jest", keywords);
|
||||
Assert.DoesNotContain("dla", keywords);
|
||||
Assert.DoesNotContain("i", keywords);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Extract_RespectsMaxAndOrdersByFrequency()
|
||||
{
|
||||
var keywords = KeywordExtractor.Extract("transport transport transport zdrowie zdrowie rodzina", max: 2);
|
||||
|
||||
Assert.Equal(2, keywords.Count);
|
||||
Assert.Equal("transport", keywords[0]);
|
||||
Assert.Equal("zdrowie", keywords[1]);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Extract_ReturnsEmptyForBlankText()
|
||||
{
|
||||
Assert.Empty(KeywordExtractor.Extract(" "));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(SubmissionStatus.New, "new")]
|
||||
[InlineData(SubmissionStatus.InProgress, "in_progress")]
|
||||
[InlineData(SubmissionStatus.Rejected, "rejected")]
|
||||
public void StatusWire_RoundTrips(SubmissionStatus status, string wire)
|
||||
{
|
||||
Assert.Equal(wire, status.ToWire());
|
||||
Assert.Equal(status, SubmissionStatusWire.Parse(wire));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user