From 42be589a26c7b53525b613f6dd4afe82e725ab18 Mon Sep 17 00:00:00 2001 From: Artemy <109195690+stalcker2288969@users.noreply.github.com> Date: Mon, 7 Jul 2025 19:46:45 +0700 Subject: [PATCH] Update ChatGroupValidatorTests.cs --- .../Validators/ChatGroupValidatorTests.cs | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/Govor.API.Tests/UnitTests/Infrastructure/Validators/ChatGroupValidatorTests.cs b/Govor.API.Tests/UnitTests/Infrastructure/Validators/ChatGroupValidatorTests.cs index 6dadf64..42986c0 100644 --- a/Govor.API.Tests/UnitTests/Infrastructure/Validators/ChatGroupValidatorTests.cs +++ b/Govor.API.Tests/UnitTests/Infrastructure/Validators/ChatGroupValidatorTests.cs @@ -1,7 +1,118 @@ +using AutoFixture; +using Govor.Core.Infrastructure.Validators; +using Govor.Core.Models; + namespace Govor.API.Tests.UnitTests.Infrastructure.Validators; [TestFixture] public class ChatGroupValidatorTests { + private IObjectValidator _validator = new ChatGroupValidator(); + private Fixture _fixture; + [SetUp] + public void SetUp() + { + _fixture = new Fixture(); + + _fixture.Behaviors + .OfType() + .ToList() + .ForEach(b => _fixture.Behaviors.Remove(b)); + + _fixture.Behaviors.Add(new OmitOnRecursionBehavior()); + } + + [Test] + public void Validate_ChatGroup_Valid() + { + // Arrange + var chat = _fixture.Create(); + + // Act & Assert + Assert.DoesNotThrow(() => _validator.Validate(chat)); + Assert.That(_validator.TryValidate(chat), Is.True); + } + + + [Test] + public void Validate_ChatGroupIsNull_Invalid() + { + // Act & Assert + Assert.Throws>(() => _validator.Validate(default)); + Assert.That(_validator.TryValidate(default), Is.False); + } + + [Test] + public void Validate_ChatGroupIdIsEmpty_Invalid() + { + // Arrange + var chat = _fixture.Create(); + chat.Id = Guid.Empty; + + // Act & Assert + Assert.Throws>(() => _validator.Validate(chat)); + Assert.That(_validator.TryValidate(chat), Is.False); + } + + [Test] + public void Validate_ChatGroupNameIsEmpty_Invalid() + { + // Arrange + var chat = _fixture.Create(); + chat.Name = ""; + + // Act & Assert + Assert.Throws>(() => _validator.Validate(chat)); + Assert.That(_validator.TryValidate(chat), Is.False); + } + + [Test] + public void Validate_ChatGroupDescriptionIsNull_Invalid() + { + // Arrange + var chat = _fixture.Create(); + chat.Description = default; + + // Act & Assert + Assert.Throws>(() => _validator.Validate(chat)); + Assert.That(_validator.TryValidate(chat), Is.False); + } + + [Test] + public void Validate_ChatGroupImageIdIsEmpty_Invalid() + { + // Arrange + var chat = _fixture.Create(); + chat.ImageId = Guid.Empty; + + // Act & Assert + Assert.Throws>(() => _validator.Validate(chat)); + Assert.That(_validator.TryValidate(chat), Is.False); + } + + [Test] + public void Validate_ChatGroupIsPrivateAndInvitesCodesIsEmpty_Invalid() + { + // Arrange + var chat = _fixture.Create(); + chat.IsPrivate = true; + chat.InviteCodes = new(); + + // Act & Assert + Assert.Throws>(() => _validator.Validate(chat)); + Assert.That(_validator.TryValidate(chat), Is.False); + } + + [Test] + public void Validate_ChatGroupAdminsIsEmpty_Invalid() + { + // Arrange + var chat = _fixture.Create(); + chat.Admins = new(); + + // Act & Assert + Assert.Throws>(() => _validator.Validate(chat)); + Assert.That(_validator.TryValidate(chat), Is.False); + } } \ No newline at end of file