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.Id = driller.Id;
|
||||||
drillerObj.Name = "Исправлено";
|
drillerObj.Name = "Исправлено";
|
||||||
await service.UpdateAsync(driller.Id, drillerObj, CancellationToken.None);
|
await service.UpdateAsync(drillerObj, CancellationToken.None);
|
||||||
var newCount = (await service.GetAllAsync(CancellationToken.None)).Count();
|
var newCount = (await service.GetAllAsync(CancellationToken.None)).Count();
|
||||||
Assert.Equal(newCount, oldCount);
|
Assert.Equal(newCount, oldCount);
|
||||||
}
|
}
|
||||||
|
@ -34,8 +34,8 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
{
|
{
|
||||||
IdWell = dto?.IdWell ?? 1,
|
IdWell = dto?.IdWell ?? 1,
|
||||||
IdDriller = dto?.IdDriller ?? 1,
|
IdDriller = dto?.IdDriller ?? 1,
|
||||||
ShiftStart = dto?.ShiftStart ?? new TimeOnly(10, 00),
|
ShiftStart = dto?.ShiftStart ?? new TimeDto(10, 00),
|
||||||
ShiftEnd = dto?.ShiftEnd ?? new TimeOnly(18, 00),
|
ShiftEnd = dto?.ShiftEnd ?? new TimeDto(18, 00),
|
||||||
DrillStart = dto?.DrillStart ?? DateTime.Parse("2022-05-16T10:00:00.286Z"),
|
DrillStart = dto?.DrillStart ?? DateTime.Parse("2022-05-16T10:00:00.286Z"),
|
||||||
DrillEnd = dto?.DrillEnd ?? DateTime.Parse("2022-05-16T18: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();
|
var dto = MakeScheduleDto();
|
||||||
dto.Id = 1;
|
dto.Id = 1;
|
||||||
dto.DrillEnd = dto.DrillEnd.AddHours(-3);
|
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();
|
var newCount = (await scheduleService.GetAllAsync(CancellationToken.None)).Count();
|
||||||
Assert.Equal(newCount, oldCount);
|
Assert.Equal(newCount, oldCount);
|
||||||
}
|
}
|
||||||
@ -114,8 +114,8 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
public async Task GetDriller_by_workTime_shift1()
|
public async Task GetDriller_by_workTime_shift1()
|
||||||
{
|
{
|
||||||
var dto = MakeScheduleDto();
|
var dto = MakeScheduleDto();
|
||||||
dto.ShiftStart = new TimeOnly(8, 00);
|
dto.ShiftStart = new TimeDto(8, 00);
|
||||||
dto.ShiftEnd = new TimeOnly(20, 00);
|
dto.ShiftEnd = new TimeDto(20, 00);
|
||||||
var id = await scheduleService.InsertAsync(dto, CancellationToken.None);
|
var id = await scheduleService.InsertAsync(dto, CancellationToken.None);
|
||||||
var drillerWorkTime = new DateTime(
|
var drillerWorkTime = new DateTime(
|
||||||
dto.DrillStart.Year,
|
dto.DrillStart.Year,
|
||||||
@ -130,8 +130,8 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
public async Task GetDriller_by_workTime_shift2()
|
public async Task GetDriller_by_workTime_shift2()
|
||||||
{
|
{
|
||||||
var dto = MakeScheduleDto();
|
var dto = MakeScheduleDto();
|
||||||
dto.ShiftStart = new TimeOnly(20, 00);
|
dto.ShiftStart = new TimeDto(20, 00);
|
||||||
dto.ShiftEnd = new TimeOnly(8, 00);
|
dto.ShiftEnd = new TimeDto(8, 00);
|
||||||
var id = await scheduleService.InsertAsync(dto, CancellationToken.None);
|
var id = await scheduleService.InsertAsync(dto, CancellationToken.None);
|
||||||
var drillerWorkTime = new DateTime(
|
var drillerWorkTime = new DateTime(
|
||||||
dto.DrillStart.Year,
|
dto.DrillStart.Year,
|
||||||
|
@ -148,7 +148,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
Id = updateId,
|
Id = updateId,
|
||||||
Caption = "role 2 level 1"
|
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);
|
Assert.Equal(updateId, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
Caption = "role 2 level 1",
|
Caption = "role 2 level 1",
|
||||||
Permissions = new[] { new PermissionDto { Id = 2_000_001 } },
|
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);
|
var entity = await service.GetAsync(id);
|
||||||
Assert.Equal(modRole.Permissions.Count(), entity.Permissions.Count());
|
Assert.Equal(modRole.Permissions.Count(), entity.Permissions.Count());
|
||||||
}
|
}
|
||||||
@ -179,7 +179,7 @@ namespace AsbCloudWebApi.Tests.ServicesTests
|
|||||||
Caption = "role 2 level 1",
|
Caption = "role 2 level 1",
|
||||||
Roles = new[] { new UserRoleDto { Id = 1_000_001 } }
|
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);
|
var entity = await service.GetAsync(id);
|
||||||
Assert.Equal(modRole.Roles.Count(), entity.Roles.Count());
|
Assert.Equal(modRole.Roles.Count(), entity.Roles.Count());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user