forked from ddrilling/AsbCloudServer
Merge pull request '#7053070 Перенос справочника бурильщиков в репозиторий' (#8) from feature/driller_repository into dev
Reviewed-on: http://46.146.209.148:8080/DDrilling/AsbCloudServer/pulls/8
This commit is contained in:
commit
25cd263598
@ -1,12 +0,0 @@
|
|||||||
using AsbCloudApp.Data;
|
|
||||||
|
|
||||||
namespace AsbCloudApp.Services
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Сервис добавления бурильщиков
|
|
||||||
/// </summary>
|
|
||||||
public interface IDrillerService : ICrudService<DrillerDto>
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -128,7 +128,7 @@ namespace AsbCloudInfrastructure
|
|||||||
services.AddTransient<IScheduleReportService, ScheduleReportService>();
|
services.AddTransient<IScheduleReportService, ScheduleReportService>();
|
||||||
services.AddTransient<IDailyReportService, DailyReportService>();
|
services.AddTransient<IDailyReportService, DailyReportService>();
|
||||||
services.AddTransient<IDetectedOperationService, DetectedOperationService>();
|
services.AddTransient<IDetectedOperationService, DetectedOperationService>();
|
||||||
services.AddTransient<IDrillerService, DrillerService>();
|
//services.AddTransient<IDrillerService, DrillerService>();
|
||||||
|
|
||||||
services.AddTransient<ISubsystemOperationTimeService, SubsystemOperationTimeService>();
|
services.AddTransient<ISubsystemOperationTimeService, SubsystemOperationTimeService>();
|
||||||
services.AddTransient<IScheduleRepository, ScheduleRepository>();
|
services.AddTransient<IScheduleRepository, ScheduleRepository>();
|
||||||
@ -159,6 +159,9 @@ namespace AsbCloudInfrastructure
|
|||||||
dbSet => dbSet
|
dbSet => dbSet
|
||||||
.Include(c => c.Wells)
|
.Include(c => c.Wells)
|
||||||
.Include(c => c.Deposit))); // может быть включен в сервис ClusterService
|
.Include(c => c.Deposit))); // может быть включен в сервис ClusterService
|
||||||
|
|
||||||
|
services.AddTransient<ICrudService<DrillerDto>, CrudCacheServiceBase<DrillerDto, Driller>>();
|
||||||
|
|
||||||
services.AddTransient<IFileRepository, FileRepository>();
|
services.AddTransient<IFileRepository, FileRepository>();
|
||||||
services.AddTransient<IFileStorageRepository, FileStorageRepository>();
|
services.AddTransient<IFileStorageRepository, FileStorageRepository>();
|
||||||
services.AddTransient<IWellCompositeRepository, WellCompositeRepository>();
|
services.AddTransient<IWellCompositeRepository, WellCompositeRepository>();
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
using AsbCloudApp.Data;
|
|
||||||
using AsbCloudApp.Services;
|
|
||||||
using AsbCloudDb.Model;
|
|
||||||
using AsbCloudInfrastructure.Repository;
|
|
||||||
|
|
||||||
namespace AsbCloudInfrastructure.Services
|
|
||||||
{
|
|
||||||
public class DrillerService : CrudServiceBase<DrillerDto, Driller>, IDrillerService
|
|
||||||
{
|
|
||||||
public DrillerService(IAsbCloudDbContext context) : base(context)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,12 @@
|
|||||||
using AsbCloudApp.Data;
|
using AsbCloudApp.Data;
|
||||||
|
using AsbCloudApp.Repositories;
|
||||||
|
using AsbCloudApp.Services;
|
||||||
using AsbCloudDb.Model;
|
using AsbCloudDb.Model;
|
||||||
|
using AsbCloudInfrastructure.Repository;
|
||||||
using AsbCloudInfrastructure.Services;
|
using AsbCloudInfrastructure.Services;
|
||||||
using AsbCloudInfrastructure.Services.Cache;
|
using AsbCloudInfrastructure.Services.Cache;
|
||||||
|
using Moq;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@ -11,31 +16,49 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
{
|
{
|
||||||
public class DrillerServiceTest
|
public class DrillerServiceTest
|
||||||
{
|
{
|
||||||
private readonly AsbCloudDbContext context;
|
private static List<DrillerDto> Drillers = new List<DrillerDto> {
|
||||||
private readonly CacheDb cacheDb;
|
new DrillerDto
|
||||||
private Driller driller = new Driller
|
{
|
||||||
{
|
Id = 1,
|
||||||
Id = 1,
|
Name = "Тестовый",
|
||||||
Name = "Тестовый",
|
Patronymic = "Тест",
|
||||||
Patronymic = "Тест",
|
Surname = "Тестович"
|
||||||
Surname = "Тестович"
|
},
|
||||||
|
new DrillerDto
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Name = "Тестовый",
|
||||||
|
Patronymic = "Тест",
|
||||||
|
Surname = "Тестович"
|
||||||
|
}
|
||||||
};
|
};
|
||||||
private DrillerDto drillerObj = new DrillerDto
|
private ICrudService<DrillerDto> service;
|
||||||
{
|
|
||||||
Id = 0,
|
|
||||||
Name = "Тестовый",
|
|
||||||
Patronymic = "Тест",
|
|
||||||
Surname = "Тестович"
|
|
||||||
};
|
|
||||||
private DrillerService service;
|
|
||||||
|
|
||||||
public DrillerServiceTest()
|
public DrillerServiceTest()
|
||||||
{
|
{
|
||||||
|
var repositoryMock = RepositoryFactory.Make<ICrudService<DrillerDto>, DrillerDto>(Drillers);
|
||||||
|
|
||||||
context = TestHelpter.MakeTestContext();
|
repositoryMock.Setup(x => x.GetAllAsync(It.IsAny<CancellationToken>()))
|
||||||
cacheDb = new CacheDb();
|
.Returns(() => {
|
||||||
context.SaveChanges();
|
var data = Drillers;
|
||||||
service = new DrillerService(context);
|
return Task.FromResult(data.AsEnumerable());
|
||||||
|
});
|
||||||
|
repositoryMock.Setup(x => x.InsertAsync(It.IsAny<DrillerDto>(), It.IsAny<CancellationToken>()))
|
||||||
|
.Returns((DrillerDto dto, CancellationToken token) => {
|
||||||
|
Drillers.Add(dto);
|
||||||
|
return Task.FromResult(Drillers.Count());
|
||||||
|
});
|
||||||
|
repositoryMock.Setup(x => x.UpdateAsync(It.IsAny<DrillerDto>(), It.IsAny<CancellationToken>()))
|
||||||
|
.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()
|
~DrillerServiceTest()
|
||||||
@ -45,36 +68,31 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
[Fact]
|
[Fact]
|
||||||
public async Task GetListAsync_count()
|
public async Task GetListAsync_count()
|
||||||
{
|
{
|
||||||
|
var data = await service.GetAllAsync(CancellationToken.None);
|
||||||
///Добавляем элемент
|
Assert.Equal(2, data.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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task InsertAsync_returns_id()
|
public async Task InsertAsync_returns_id()
|
||||||
{
|
{
|
||||||
var id = await service.InsertAsync(drillerObj, CancellationToken.None);
|
var dto = new DrillerDto {
|
||||||
Assert.NotEqual(0, id);
|
Id = 3,
|
||||||
|
Name = "Тестовый",
|
||||||
|
Patronymic = "Тест",
|
||||||
|
Surname = "Тестович"
|
||||||
|
};
|
||||||
|
var cnt = await service.InsertAsync(dto, CancellationToken.None);
|
||||||
|
Assert.Equal(3, cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task UpdateAsync_not_add_if_exists()
|
public async Task UpdateAsync_not_add_if_exists()
|
||||||
{
|
{
|
||||||
///Добавляем элемент
|
var dto = Drillers.First(x => x.Id == 1);
|
||||||
context.Drillers.Add(driller);
|
dto.Name = "Edit";
|
||||||
var oldCount = (await service.GetAllAsync(CancellationToken.None)).Count();
|
var oldCount = Drillers.Count();
|
||||||
|
var count = await service.UpdateAsync(dto, CancellationToken.None);
|
||||||
//Обновляем
|
Assert.Equal(oldCount, 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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,10 +11,10 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
[Route("api/driller")]
|
[Route("api/driller")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public class DrillerController : CrudController<DrillerDto, IDrillerService>
|
public class DrillerController : CrudController<DrillerDto, ICrudService<DrillerDto>>
|
||||||
{
|
{
|
||||||
public DrillerController(IDrillerService drillerService)
|
public DrillerController(ICrudService<DrillerDto> service)
|
||||||
: base(drillerService)
|
: base(service)
|
||||||
{ }
|
{ }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user