/
Airat
/
ASP.NET
Обзор
Документация
Войти
/
Airat
/
ASP.NET
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
UnitTests/src/PromoCodeFactory.UnitTests/WebHost/Controllers/Partners/CancelPartnerPromoCodeLimitAsyncTests.cs
84 строки
3 KB
Алексей Ягур
Initial commit
19 июл 2024, 21:59
19 июл 2024, 21:59
5158096
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using AutoFixture; using AutoFixture.AutoMoq; using FluentAssertions; using Microsoft.AspNetCore.Mvc; using Moq; using PromoCodeFactory.Core.Abstractions.Repositories; using PromoCodeFactory.Core.Domain.PromoCodeManagement; using PromoCodeFactory.WebHost.Controllers; using Xunit; namespace PromoCodeFactory.UnitTests.WebHost.Controllers.Partners { public class CancelPartnerPromoCodeLimitAsyncTests { private readonly Mock<IRepository<Partner>> _partnersRepositoryMock; private readonly PartnersController _partnersController; public CancelPartnerPromoCodeLimitAsyncTests() { var fixture = new Fixture().Customize(new AutoMoqCustomization()); _partnersRepositoryMock = fixture.Freeze<Mock<IRepository<Partner>>>(); _partnersController = fixture.Build<PartnersController>().OmitAutoProperties().Create(); } public Partner CreateBasePartner() { var partner = new Partner() { Id = Guid.Parse("7d994823-8226-4273-b063-1a95f3cc1df8"), Name = "Суперигрушки", IsActive = true, PartnerLimits = new List<PartnerPromoCodeLimit>() { new PartnerPromoCodeLimit() { Id = Guid.Parse("e00633a5-978a-420e-a7d6-3e1dab116393"), CreateDate = new DateTime(2020, 07, 9), EndDate = new DateTime(2020, 10, 9), Limit = 100 } } }; return partner; } [Fact] public async void CancelPartnerPromoCodeLimitAsync_PartnerIsNotFound_ReturnsNotFound() { // Arrange var partnerId = Guid.Parse("def47943-7aaf-44a1-ae21-05aa4948b165"); Partner partner = null; _partnersRepositoryMock.Setup(repo => repo.GetByIdAsync(partnerId)) .ReturnsAsync(partner); // Act var result = await _partnersController.CancelPartnerPromoCodeLimitAsync(partnerId); // Assert result.Should().BeAssignableTo<NotFoundResult>(); } [Fact] public async void CancelPartnerPromoCodeLimitAsync_PartnerIsNotActive_ReturnsBadRequest() { // Arrange var partnerId = Guid.Parse("def47943-7aaf-44a1-ae21-05aa4948b165"); var partner = CreateBasePartner(); partner.IsActive = false; _partnersRepositoryMock.Setup(repo => repo.GetByIdAsync(partnerId)) .ReturnsAsync(partner); // Act var result = await _partnersController.CancelPartnerPromoCodeLimitAsync(partnerId); // Assert result.Should().BeAssignableTo<BadRequestObjectResult>(); } } }