fix tests

This commit is contained in:
ngfrolov 2022-06-09 13:36:14 +05:00
parent da8fcaead7
commit c7dc89eca7
4 changed files with 117 additions and 11 deletions

View 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);
}
}
}

View File

@ -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);
} }

View File

@ -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,

View File

@ -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());
} }