public void Create_Any_InsertOneCalled() { // Arrange var model = new AnyModel { AnyString = "AnyString" }; // Act _repository.Create(model); // Assert A.CallTo(() => _collection.InsertOne(model, null, default)).MustHaveHappenedOnceExactly(); }
public async Task Create_MultipleEntities_CreatesEntities() { using var dbContextProvider = new AnyDbContextProvider(nameof(Create_MultipleEntities_CreatesEntities)); var repository = new AnyRepository(dbContextProvider.DbContext, _logger); var expected = new[] { new AnyEntity { AnyString = "FirstEntity" }, new AnyEntity { AnyString = "SecondEntity" } }; await repository.Create(expected); await repository.SaveChanges(); var actual = repository.GetAll(); actual.First().AnyString.Should().Be(expected.First().AnyString); actual.Last().AnyString.Should().BeEquivalentTo(expected.Last().AnyString); }
public async Task Create_ExistingEntity_ThrowsArgumentException() { using var dbContextProvider = new AnyDbContextProvider(nameof(Create_ExistingEntity_ThrowsArgumentException)); var repository = new AnyRepository(dbContextProvider.DbContext, _logger); var entity = new AnyEntity { Id = 1, AnyString = "AnyString" }; dbContextProvider.Mock(entity); await repository.Create(entity); await repository.Invoking(r => r.SaveChanges()).Should().ThrowAsync <ArgumentException>(); }
public async Task Create_AnyEntityWithAutoSave_EntityCreated() { using var dbContextProvider = new AnyDbContextProvider(nameof(Create_AnyEntityWithAutoSave_EntityCreated)); var repository = new AnyRepository(dbContextProvider.DbContext, _logger); var expected = new AnyEntity { AnyString = "AnyString" }; repository.AutoSave = true; await repository.Create(expected); var actual = repository.GetAll(); actual.Single().AnyString.Should().Be(expected.AnyString); }