diff --git a/AsbCloudApp/Services/IDrillerService.cs b/AsbCloudApp/Services/IDrillerService.cs
deleted file mode 100644
index 79de46c4..00000000
--- a/AsbCloudApp/Services/IDrillerService.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using AsbCloudApp.Data;
-
-namespace AsbCloudApp.Services
-{
- ///
- /// Сервис добавления бурильщиков
- ///
- public interface IDrillerService : ICrudService
- {
-
- }
-}
diff --git a/AsbCloudInfrastructure/DependencyInjection.cs b/AsbCloudInfrastructure/DependencyInjection.cs
index f77735c7..48d759fc 100644
--- a/AsbCloudInfrastructure/DependencyInjection.cs
+++ b/AsbCloudInfrastructure/DependencyInjection.cs
@@ -128,7 +128,7 @@ namespace AsbCloudInfrastructure
services.AddTransient();
services.AddTransient();
services.AddTransient();
- services.AddTransient();
+ //services.AddTransient();
services.AddTransient();
services.AddTransient();
@@ -159,6 +159,9 @@ namespace AsbCloudInfrastructure
dbSet => dbSet
.Include(c => c.Wells)
.Include(c => c.Deposit))); // может быть включен в сервис ClusterService
+
+ services.AddTransient, CrudCacheServiceBase>();
+
services.AddTransient();
services.AddTransient();
services.AddTransient();
diff --git a/AsbCloudInfrastructure/Services/DrillerService.cs b/AsbCloudInfrastructure/Services/DrillerService.cs
deleted file mode 100644
index d309f4af..00000000
--- a/AsbCloudInfrastructure/Services/DrillerService.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using AsbCloudApp.Data;
-using AsbCloudApp.Services;
-using AsbCloudDb.Model;
-using AsbCloudInfrastructure.Repository;
-
-namespace AsbCloudInfrastructure.Services
-{
- public class DrillerService : CrudServiceBase, IDrillerService
- {
- public DrillerService(IAsbCloudDbContext context) : base(context)
- {
- }
- }
-}
diff --git a/AsbCloudWebApi.Tests/ServicesTests/DrillerServiceTest.cs b/AsbCloudWebApi.Tests/ServicesTests/DrillerServiceTest.cs
index a79e577f..7c1e60ff 100644
--- a/AsbCloudWebApi.Tests/ServicesTests/DrillerServiceTest.cs
+++ b/AsbCloudWebApi.Tests/ServicesTests/DrillerServiceTest.cs
@@ -1,7 +1,12 @@
using AsbCloudApp.Data;
+using AsbCloudApp.Repositories;
+using AsbCloudApp.Services;
using AsbCloudDb.Model;
+using AsbCloudInfrastructure.Repository;
using AsbCloudInfrastructure.Services;
using AsbCloudInfrastructure.Services.Cache;
+using Moq;
+using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@@ -11,31 +16,49 @@ namespace AsbCloudWebApi.Tests.ServicesTests
{
public class DrillerServiceTest
{
- private readonly AsbCloudDbContext context;
- private readonly CacheDb cacheDb;
- private Driller driller = new Driller
- {
- Id = 1,
- Name = "Тестовый",
- Patronymic = "Тест",
- Surname = "Тестович"
+ private static List Drillers = new List {
+ new DrillerDto
+ {
+ Id = 1,
+ Name = "Тестовый",
+ Patronymic = "Тест",
+ Surname = "Тестович"
+ },
+ new DrillerDto
+ {
+ Id = 1,
+ Name = "Тестовый",
+ Patronymic = "Тест",
+ Surname = "Тестович"
+ }
};
- private DrillerDto drillerObj = new DrillerDto
- {
- Id = 0,
- Name = "Тестовый",
- Patronymic = "Тест",
- Surname = "Тестович"
- };
- private DrillerService service;
+ private ICrudService service;
public DrillerServiceTest()
{
+ var repositoryMock = RepositoryFactory.Make, DrillerDto>(Drillers);
- context = TestHelpter.MakeTestContext();
- cacheDb = new CacheDb();
- context.SaveChanges();
- service = new DrillerService(context);
+ repositoryMock.Setup(x => x.GetAllAsync(It.IsAny()))
+ .Returns(() => {
+ var data = Drillers;
+ return Task.FromResult(data.AsEnumerable());
+ });
+ repositoryMock.Setup(x => x.InsertAsync(It.IsAny(), It.IsAny()))
+ .Returns((DrillerDto dto, CancellationToken token) => {
+ Drillers.Add(dto);
+ return Task.FromResult(Drillers.Count());
+ });
+ repositoryMock.Setup(x => x.UpdateAsync(It.IsAny(), It.IsAny()))
+ .Returns((DrillerDto dto, CancellationToken token) => {
+ var baseDto = Drillers.First(x => x.Id == dto.Id);
+
+ Drillers.Remove(baseDto);
+ Drillers.Add(dto);
+
+ return Task.FromResult(Drillers.Count());
+ });
+
+ service = repositoryMock.Object;
}
~DrillerServiceTest()
@@ -45,36 +68,31 @@ namespace AsbCloudWebApi.Tests.ServicesTests
[Fact]
public async Task GetListAsync_count()
{
-
- ///Добавляем элемент
- var id = await service.InsertAsync(drillerObj, CancellationToken.None);
- id = await service.InsertAsync(drillerObj, CancellationToken.None);
- id = await service.InsertAsync(drillerObj, CancellationToken.None);
-
- var newCount = (await service.GetAllAsync(CancellationToken.None)).Count();
- Assert.Equal(3, newCount);
+ var data = await service.GetAllAsync(CancellationToken.None);
+ Assert.Equal(2, data.Count());
}
[Fact]
public async Task InsertAsync_returns_id()
{
- var id = await service.InsertAsync(drillerObj, CancellationToken.None);
- Assert.NotEqual(0, id);
+ var dto = new DrillerDto {
+ Id = 3,
+ Name = "Тестовый",
+ Patronymic = "Тест",
+ Surname = "Тестович"
+ };
+ var cnt = await service.InsertAsync(dto, CancellationToken.None);
+ Assert.Equal(3, cnt);
}
[Fact]
public async Task UpdateAsync_not_add_if_exists()
{
- ///Добавляем элемент
- context.Drillers.Add(driller);
- var oldCount = (await service.GetAllAsync(CancellationToken.None)).Count();
-
- //Обновляем
- drillerObj.Id = driller.Id;
- drillerObj.Name = "Исправлено";
- await service.UpdateAsync(drillerObj, CancellationToken.None);
- var newCount = (await service.GetAllAsync(CancellationToken.None)).Count();
- Assert.Equal(newCount, oldCount);
+ var dto = Drillers.First(x => x.Id == 1);
+ dto.Name = "Edit";
+ var oldCount = Drillers.Count();
+ var count = await service.UpdateAsync(dto, CancellationToken.None);
+ Assert.Equal(oldCount, count);
}
}
}
diff --git a/AsbCloudWebApi/Controllers/DrillerController.cs b/AsbCloudWebApi/Controllers/DrillerController.cs
index 8f85e934..2175c1ce 100644
--- a/AsbCloudWebApi/Controllers/DrillerController.cs
+++ b/AsbCloudWebApi/Controllers/DrillerController.cs
@@ -11,10 +11,10 @@ namespace AsbCloudWebApi.Controllers
[Route("api/driller")]
[ApiController]
[Authorize]
- public class DrillerController : CrudController
+ public class DrillerController : CrudController>
{
- public DrillerController(IDrillerService drillerService)
- : base(drillerService)
+ public DrillerController(ICrudService service)
+ : base(service)
{ }
}
}