/
qwiklly
/
arc-server
Обзор
Документация
Войти
/
qwiklly
/
arc-server
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
tests/AppRemoteConfigTests/Controllers/OrganizationControllerTests.cs
100 строк
4 KB
CLTanuki
fix: CRUD operations
28 дек 2023, 06:22
28 дек 2023, 06:22
75c7528
Код
Авторство
О чём код?
namespace AppRemoteConfigTests.Controllers { using AppRemoteConfig.Controllers; using AppRemoteConfig.Models; using AppRemoteConfig.Models.Database; using AppRemoteConfig.Models.Dto; using AppRemoteConfigTests.Fixtures; using EdjCase.JsonRpc.Router.Defaults; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; [TestClass()] public class OrganizationControllerTests { private readonly Mock<IHttpContextAccessor> _mockHttpContextAccessor; private readonly Mock<ILogger<OrganizationsController>> _mockLogger; private readonly Mock<ApplicationContext> _mockContext; public OrganizationControllerTests() { _mockContext = TestMockSetup.GetContextMock(); _mockHttpContextAccessor = new Mock<IHttpContextAccessor>(); var httpContext = new DefaultHttpContext(); _mockHttpContextAccessor.Setup(_ => _.HttpContext).Returns(httpContext); _mockLogger = new Mock<ILogger<OrganizationsController>>(); } [TestMethod()] public async Task GetOrganization() { var controller = new OrganizationsController(_mockLogger.Object, _mockHttpContextAccessor.Object, _mockContext.Object); var orgId = _mockContext.Object.Organizations.First().Id; var org = await controller.GetOrganization(orgId); Assert.IsNotNull(org); Assert.AreEqual(_mockContext.Object.Organizations.First().Title, org.Title); } [TestMethod()] public async Task ListOrganizations() { var controller = new OrganizationsController(_mockLogger.Object, _mockHttpContextAccessor.Object, _mockContext.Object); var orgList = await controller.ListOrganizations(); Assert.IsNotNull(orgList); Assert.AreEqual(1, orgList.Count()); } [TestMethod()] public async Task PutOrganization() { var controller = new OrganizationsController(_mockLogger.Object, _mockHttpContextAccessor.Object, _mockContext.Object); var org = _mockContext.Object.Organizations.First(); org.Title = "New org 1"; var newOrg = await controller.PutOrganization(Converters.OrganizationEntityToDto(org)); Assert.IsNotNull(newOrg); Assert.AreEqual("New org 1", newOrg.Title); _mockContext.Verify(m => m.SaveChangesAsync(default), Times.Once); } [TestMethod()] public async Task CreateOrganization() { var controller = new OrganizationsController(_mockLogger.Object, _mockHttpContextAccessor.Object, _mockContext.Object); var orgCreateRequest = new OrganizationEntityDto() { Title = "Org 2" }; var addedOrgDto = await controller.CreateOrganization(orgCreateRequest); var addedOrg = _mockContext.Object.Organizations.FirstOrDefault(a => a.Title == "Org 2"); Assert.IsNotNull(addedOrgDto); Assert.IsNotNull(addedOrg); Assert.AreEqual(2, _mockContext.Object.Organizations.Count()); _mockContext.Verify(m => m.SaveChangesAsync(default), Times.Once); } [TestMethod()] public async Task DeleteOrganization() { var controller = new OrganizationsController(_mockLogger.Object, _mockHttpContextAccessor.Object, _mockContext.Object); var orgId = _mockContext.Object.Organizations.Single(app => app.Title == "Org 1").Id; var result = await controller.DeleteOrganization(orgId); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(RpcMethodSuccessResult)); Assert.AreEqual(0, _mockContext.Object.Organizations.Count()); } } }