/
Airat
/
ASP.NET
Обзор
Документация
Войти
/
Airat
/
ASP.NET
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
NoSQL/src/Pcf.GivingToCustomer/Pcf.GivingToCustomer.IntegrationTests/Components/WebHost/Controllers/CustomersControllerTests.cs
64 строки
2 KB
Айрат Измаилов
new file: ../../Docker
23 ноя 2024, 20:03
23 ноя 2024, 20:03
d822795
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Threading.Tasks; using FluentAssertions; using Microsoft.AspNetCore.Mvc; using Pcf.GivingToCustomer.Core.Domain; using Pcf.GivingToCustomer.DataAccess.Repositories; using Pcf.GivingToCustomer.WebHost.Controllers; using Pcf.GivingToCustomer.WebHost.Models; using Xunit; namespace Pcf.GivingToCustomer.IntegrationTests.Components.WebHost.Controllers { [Collection(EfDatabaseCollection.DbCollection)] public class CustomersControllerTests: IClassFixture<EfDatabaseFixture> { private readonly CustomersController _customersController; private readonly Удалить_EfRepository<Customer> _customerRepository; private readonly Удалить_EfRepository<Preference> _preferenceRepository; public CustomersControllerTests(EfDatabaseFixture efDatabaseFixture) { _customerRepository = new Удалить_EfRepository<Customer>(efDatabaseFixture.DbContext); _preferenceRepository = new Удалить_EfRepository<Preference>(efDatabaseFixture.DbContext); _customersController = new CustomersController( _customerRepository, _preferenceRepository); } [Fact] public async Task CreateCustomerAsync_CanCreateCustomer_ShouldCreateExpectedCustomer() { //Arrange var preferenceId = Guid.Parse("ef7f299f-92d7-459f-896e-078ed53ef99c"); var request = new CreateOrEditCustomerRequest() { Email = "some@mail.ru", FirstName = "Иван", LastName = "Петров", PreferenceIds = new List<Guid>() { preferenceId } }; //Act var result = await _customersController.CreateCustomerAsync(request); var actionResult = result.Result as CreatedAtActionResult; var id = (Guid)actionResult.Value; //Assert var actual = await _customerRepository.GetByIdAsync(id); actual.Email.Should().Be(request.Email); actual.FirstName.Should().Be(request.FirstName); actual.LastName.Should().Be(request.LastName); actual.Preferences.Should() .ContainSingle() .And .Contain(x => x.PreferenceId == preferenceId); } } }