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();
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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>();
        }
Beispiel #4
0
        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);
        }