using System; using System.Threading; using AutoFixture; using CoreUnitTests.Infrastructure; using CoreUnitTests.Infrastructure.Model; using MongoDbGenericRepository.DataAccess.Create; using Moq; using Xunit; namespace CoreUnitTests.BaseMongoRepositoryTests.AddTests; public class AddOneTests : TestMongoRepositoryContext { [Fact] public void WithDocument_ShouldAddOne() { // Arrange var document = Fixture.Create(); Creator = new Mock(); // Act Sut.AddOne(document); // Assert Creator.Verify(x => x.AddOne(document, CancellationToken.None), Times.Once); } [Fact] public void WithDocumentAndCancellationToken_ShouldAddOne() { // Arrange var document = Fixture.Create(); var token = new CancellationToken(true); Creator = new Mock(); // Act Sut.AddOne(document, token); // Assert Creator.Verify(x => x.AddOne(document, token), Times.Once); } #region Keyed [Fact] public void Keyed_WithDocument_ShouldAddOne() { // Arrange var document = Fixture.Create>(); Creator = new Mock(); // Act Sut.AddOne, int>(document); // Assert Creator.Verify(x => x.AddOne, int>(document, CancellationToken.None), Times.Once); } [Fact] public void Keyed_WithDocumentAndCancellationToken_ShouldAddOne() { // Arrange var document = Fixture.Create>(); var token = new CancellationToken(true); Creator = new Mock(); // Act Sut.AddOne, int>(document, token); // Assert Creator.Verify(x => x.AddOne, int>(document, token), Times.Once); } #endregion }