Дополнительные проверки в юнит-тесте UpdateRange для ChangeLog
This commit is contained in:
parent
c0d28efc70
commit
ba9fe675ed
@ -1,31 +1,22 @@
|
||||
using DD.Persistence.API.Services;
|
||||
using DD.Persistence.Database.Entity;
|
||||
using DD.Persistence.Models;
|
||||
using DD.Persistence.Models.Common;
|
||||
using DD.Persistence.Models.Requests;
|
||||
using DD.Persistence.Repositories;
|
||||
using DD.Persistence.Services;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NSubstitute;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UuidExtensions;
|
||||
using static NSubstitute.Arg;
|
||||
|
||||
namespace DD.Persistence.Test;
|
||||
public class ChangeLogTest
|
||||
{
|
||||
private readonly IChangeLogCommitRepository changeLogCommitRepository = Substitute.For<IChangeLogCommitRepository>();
|
||||
private readonly IChangeLogRepository changeLogRepository = Substitute.For<IChangeLogRepository>();
|
||||
private readonly IMemoryCache memoryCache = Substitute.For<IMemoryCache>();
|
||||
private ChangeLogService service;
|
||||
|
||||
public ChangeLogTest()
|
||||
{
|
||||
var memoryCache = new MemoryCache(new MemoryCacheOptions());
|
||||
service = new ChangeLogService(memoryCache, changeLogCommitRepository, changeLogRepository);
|
||||
}
|
||||
[Fact]
|
||||
@ -40,9 +31,9 @@ public class ChangeLogTest
|
||||
changeLogCommitRepository.Add(Arg.Any<ChangeLogCommitDto>(), Arg.Any<CancellationToken>()).Returns(Uuid7.Guid());
|
||||
changeLogRepository
|
||||
.AddRange(
|
||||
Arg.Any<Guid>(),
|
||||
Arg.Any<ChangeLogCommitDto>(),
|
||||
Arg.Any<IEnumerable<ChangeLogValuesDto>>(),
|
||||
Arg.Any<Guid>(),
|
||||
Arg.Any<ChangeLogCommitDto>(),
|
||||
Arg.Any<IEnumerable<ChangeLogValuesDto>>(),
|
||||
Arg.Any<CancellationToken>())
|
||||
.Returns(2);
|
||||
|
||||
@ -57,12 +48,15 @@ public class ChangeLogTest
|
||||
public async Task UpdateRange()
|
||||
{
|
||||
var discriminatorId = Uuid7.Guid();
|
||||
var expectedCommitId = Uuid7.Guid();
|
||||
|
||||
var comment = "Изменение нескольких значений";
|
||||
var commit = new ChangeLogCommitDto(expectedCommitId, comment);
|
||||
var commit = new ChangeLogCommitDto(Uuid7.Guid(), comment);
|
||||
commit.Id = Uuid7.Guid();
|
||||
|
||||
var dtos = GenerateChangeLogValuesDto(2);
|
||||
|
||||
changeLogCommitRepository.Add(Arg.Any<ChangeLogCommitDto>(), Arg.Any<CancellationToken>()).Returns(Uuid7.Guid());
|
||||
changeLogCommitRepository.Add(Arg.Any<ChangeLogCommitDto>(), Arg.Any<CancellationToken>()).Returns(commit.Id);
|
||||
|
||||
changeLogRepository
|
||||
.UpdateRange(
|
||||
Arg.Any<ChangeLogCommitDto>(),
|
||||
@ -73,8 +67,14 @@ public class ChangeLogTest
|
||||
var updateRangeResult = await service
|
||||
.UpdateRange(commit, dtos, CancellationToken.None);
|
||||
|
||||
updateRangeResult = await service
|
||||
.UpdateRange(commit, dtos, CancellationToken.None);
|
||||
|
||||
updateRangeResult = await service
|
||||
.UpdateRange(commit, dtos, CancellationToken.None);
|
||||
|
||||
await changeLogCommitRepository.Received(1).Add(commit, CancellationToken.None);
|
||||
await changeLogRepository.Received(1).UpdateRange(commit, dtos, CancellationToken.None);
|
||||
await changeLogRepository.Received(3).UpdateRange(commit, dtos, CancellationToken.None);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@ -168,7 +168,7 @@ public class ChangeLogTest
|
||||
{
|
||||
var discriminatorId = Uuid7.Guid();
|
||||
var dtos = GenerateChangeLogDto(5);
|
||||
;
|
||||
;
|
||||
var dateBegin = DateTimeOffset.UtcNow.AddDays(-5);
|
||||
var dateEnd = DateTimeOffset.UtcNow;
|
||||
|
||||
@ -198,7 +198,7 @@ public class ChangeLogTest
|
||||
var dateOnlyBegin = new DateOnly(dateBegin.Year, dateBegin.Month, dateBegin.Day);
|
||||
var dateOnlyEnd = new DateOnly(dateEnd.Year, dateEnd.Month, dateEnd.Day);
|
||||
|
||||
var dtos = new List<DateOnly>() { dateOnlyBegin, dateOnlyEnd };
|
||||
var dtos = new List<DateOnly>() { dateOnlyBegin, dateOnlyEnd };
|
||||
|
||||
changeLogRepository
|
||||
.GetDatesChange(
|
||||
@ -241,7 +241,7 @@ public class ChangeLogTest
|
||||
{
|
||||
items.Add(new ChangeLogDto()
|
||||
{
|
||||
Id = Uuid7.Guid(),
|
||||
Id = Uuid7.Guid(),
|
||||
});
|
||||
}
|
||||
return items;
|
||||
|
Loading…
Reference in New Issue
Block a user