forked from ddrilling/AsbCloudServer
fix tests
This commit is contained in:
parent
da8fcaead7
commit
c7dc89eca7
106
AsbCloudWebApi.Tests/ServicesTests/CrudServiceTest.cs
Normal file
106
AsbCloudWebApi.Tests/ServicesTests/CrudServiceTest.cs
Normal file
@ -0,0 +1,106 @@
|
||||
using AsbCloudApp.Data;
|
||||
using AsbCloudApp.Services;
|
||||
using AsbCloudDb.Model;
|
||||
using AsbCloudInfrastructure.Services;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
{
|
||||
public class DepositCrudServiceTest : CrudServiceTestAbstract<DepositDto>
|
||||
{
|
||||
protected override DepositDto MakeNewItem()
|
||||
{
|
||||
var item = new DepositDto
|
||||
{
|
||||
Caption = "test deposit",
|
||||
Latitude = 1,
|
||||
Longitude = 2,
|
||||
Timezone = new SimpleTimezoneDto { Hours = 5, TimezoneId = "test Never-land"}
|
||||
};
|
||||
return item;
|
||||
}
|
||||
|
||||
protected override ICrudService<DepositDto> MakeService()
|
||||
{
|
||||
var dbContext = TestHelpter.MakeTestContext();
|
||||
return new CrudCacheServiceBase<DepositDto, Deposit>(dbContext);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract class CrudServiceTestAbstract<TDto>
|
||||
where TDto: AsbCloudApp.Data.IId
|
||||
{
|
||||
private readonly ICrudService<TDto> service;
|
||||
|
||||
public CrudServiceTestAbstract()
|
||||
{
|
||||
service = MakeService();
|
||||
}
|
||||
|
||||
protected abstract ICrudService<TDto> MakeService();
|
||||
protected abstract TDto MakeNewItem();
|
||||
|
||||
[Fact]
|
||||
public async Task Insert()
|
||||
{
|
||||
var newItem = MakeNewItem();
|
||||
var id = await service.InsertAsync(newItem, CancellationToken.None);
|
||||
Assert.True(id > 0);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task InsertRange()
|
||||
{
|
||||
var items = new TDto[2];
|
||||
items[0] = MakeNewItem();
|
||||
items[1] = MakeNewItem();
|
||||
var count = await service.InsertRangeAsync(items, CancellationToken.None);
|
||||
Assert.Equal(2, count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetById()
|
||||
{
|
||||
var newItem = MakeNewItem();
|
||||
var id = await service.InsertAsync(newItem, CancellationToken.None);
|
||||
var gotItem = await service.GetAsync(id, CancellationToken.None);
|
||||
Assert.True(id > 0);
|
||||
Assert.Equal(id, gotItem.Id);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetAll()
|
||||
{
|
||||
var items = await service.GetAllAsync(CancellationToken.None);
|
||||
var count = items.Count();
|
||||
await Insert();
|
||||
var newItems = await service.GetAllAsync(CancellationToken.None);
|
||||
var newCount = newItems.Count();
|
||||
Assert.True(newCount > 0);
|
||||
Assert.Equal(count + 1, newCount);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task UpdateAsync()
|
||||
{
|
||||
var newItem = MakeNewItem();
|
||||
var id = await service.InsertAsync(newItem, CancellationToken.None);
|
||||
var updatedId = await service.UpdateAsync(newItem, CancellationToken.None);
|
||||
Assert.True(id > 0);
|
||||
Assert.Equal(id, updatedId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task DeleteAsync()
|
||||
{
|
||||
var newItem = MakeNewItem();
|
||||
var id = await service.InsertAsync(newItem, CancellationToken.None);
|
||||
var deletedId = await service.DeleteAsync(id, CancellationToken.None);
|
||||
Assert.True(id > 0);
|
||||
Assert.Equal(id, deletedId);
|
||||
}
|
||||
}
|
||||
}
|
@ -76,7 +76,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
//Обновляем
|
||||
drillerObj.Id = driller.Id;
|
||||
drillerObj.Name = "Исправлено";
|
||||
await service.UpdateAsync(driller.Id, drillerObj, CancellationToken.None);
|
||||
await service.UpdateAsync(drillerObj, CancellationToken.None);
|
||||
var newCount = (await service.GetAllAsync(CancellationToken.None)).Count();
|
||||
Assert.Equal(newCount, oldCount);
|
||||
}
|
||||
|
@ -34,8 +34,8 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
{
|
||||
IdWell = dto?.IdWell ?? 1,
|
||||
IdDriller = dto?.IdDriller ?? 1,
|
||||
ShiftStart = dto?.ShiftStart ?? new TimeOnly(10, 00),
|
||||
ShiftEnd = dto?.ShiftEnd ?? new TimeOnly(18, 00),
|
||||
ShiftStart = dto?.ShiftStart ?? new TimeDto(10, 00),
|
||||
ShiftEnd = dto?.ShiftEnd ?? new TimeDto(18, 00),
|
||||
DrillStart = dto?.DrillStart ?? DateTime.Parse("2022-05-16T10:00:00.286Z"),
|
||||
DrillEnd = dto?.DrillEnd ?? DateTime.Parse("2022-05-16T18:00:00.286Z")
|
||||
};
|
||||
@ -105,7 +105,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
var dto = MakeScheduleDto();
|
||||
dto.Id = 1;
|
||||
dto.DrillEnd = dto.DrillEnd.AddHours(-3);
|
||||
await scheduleService.UpdateAsync(dto.Id, dto, CancellationToken.None);
|
||||
await scheduleService.UpdateAsync(dto, CancellationToken.None);
|
||||
var newCount = (await scheduleService.GetAllAsync(CancellationToken.None)).Count();
|
||||
Assert.Equal(newCount, oldCount);
|
||||
}
|
||||
@ -114,8 +114,8 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
public async Task GetDriller_by_workTime_shift1()
|
||||
{
|
||||
var dto = MakeScheduleDto();
|
||||
dto.ShiftStart = new TimeOnly(8, 00);
|
||||
dto.ShiftEnd = new TimeOnly(20, 00);
|
||||
dto.ShiftStart = new TimeDto(8, 00);
|
||||
dto.ShiftEnd = new TimeDto(20, 00);
|
||||
var id = await scheduleService.InsertAsync(dto, CancellationToken.None);
|
||||
var drillerWorkTime = new DateTime(
|
||||
dto.DrillStart.Year,
|
||||
@ -130,8 +130,8 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
public async Task GetDriller_by_workTime_shift2()
|
||||
{
|
||||
var dto = MakeScheduleDto();
|
||||
dto.ShiftStart = new TimeOnly(20, 00);
|
||||
dto.ShiftEnd = new TimeOnly(8, 00);
|
||||
dto.ShiftStart = new TimeDto(20, 00);
|
||||
dto.ShiftEnd = new TimeDto(8, 00);
|
||||
var id = await scheduleService.InsertAsync(dto, CancellationToken.None);
|
||||
var drillerWorkTime = new DateTime(
|
||||
dto.DrillStart.Year,
|
||||
|
@ -148,7 +148,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
Id = updateId,
|
||||
Caption = "role 2 level 1"
|
||||
};
|
||||
var id = await service.UpdateAsync(1_000_002, modRole, CancellationToken.None);
|
||||
var id = await service.UpdateAsync(modRole, CancellationToken.None);
|
||||
Assert.Equal(updateId, id);
|
||||
}
|
||||
|
||||
@ -163,7 +163,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
Caption = "role 2 level 1",
|
||||
Permissions = new[] { new PermissionDto { Id = 2_000_001 } },
|
||||
};
|
||||
var id = await service.UpdateAsync(1_000_002, modRole, CancellationToken.None);
|
||||
var id = await service.UpdateAsync(modRole, CancellationToken.None);
|
||||
var entity = await service.GetAsync(id);
|
||||
Assert.Equal(modRole.Permissions.Count(), entity.Permissions.Count());
|
||||
}
|
||||
@ -179,7 +179,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
||||
Caption = "role 2 level 1",
|
||||
Roles = new[] { new UserRoleDto { Id = 1_000_001 } }
|
||||
};
|
||||
var id = await service.UpdateAsync(1_000_002, modRole, CancellationToken.None);
|
||||
var id = await service.UpdateAsync(modRole, CancellationToken.None);
|
||||
var entity = await service.GetAsync(id);
|
||||
Assert.Equal(modRole.Roles.Count(), entity.Roles.Count());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user