示例#1
0
        public void GetValueToReplaces_ListSortedInDescOrder()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <ValueToReplaceDbContext>()
                            .UseInMemoryDatabase(databaseName: $"ValueToReplaceDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeValueToReplaceOne = new FakeValueToReplace {
            }.Generate();

            fakeValueToReplaceOne.ValueToReplaceTextField1 = "Bravo";

            var fakeValueToReplaceTwo = new FakeValueToReplace {
            }.Generate();

            fakeValueToReplaceTwo.ValueToReplaceTextField1 = "Alpha";

            var fakeValueToReplaceThree = new FakeValueToReplace {
            }.Generate();

            fakeValueToReplaceThree.ValueToReplaceTextField1 = "Charlie";

            //Act
            using (var context = new ValueToReplaceDbContext(dbOptions))
            {
                context.ValueToReplaces.AddRange(fakeValueToReplaceOne, fakeValueToReplaceTwo, fakeValueToReplaceThree);
                context.SaveChanges();

                var service = new ValueToReplaceRepository(context, new SieveProcessor(sieveOptions));

                var valueToReplaceRepo = service.GetValueToReplaces(new ValueToReplaceParametersDto {
                    SortOrder = "-ValueToReplaceTextField1"
                });

                //Assert
                valueToReplaceRepo.Should()
                .ContainInOrder(fakeValueToReplaceThree, fakeValueToReplaceOne, fakeValueToReplaceTwo);

                context.Database.EnsureDeleted();
            }
        }
示例#2
0
        public void DeleteValueToReplace_ReturnsProperCount()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <ValueToReplaceDbContext>()
                            .UseInMemoryDatabase(databaseName: $"ValueToReplaceDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeValueToReplaceOne = new FakeValueToReplace {
            }.Generate();
            var fakeValueToReplaceTwo = new FakeValueToReplace {
            }.Generate();
            var fakeValueToReplaceThree = new FakeValueToReplace {
            }.Generate();

            //Act
            using (var context = new ValueToReplaceDbContext(dbOptions))
            {
                context.ValueToReplaces.AddRange(fakeValueToReplaceOne, fakeValueToReplaceTwo, fakeValueToReplaceThree);

                var service = new ValueToReplaceRepository(context, new SieveProcessor(sieveOptions));
                service.DeleteValueToReplace(fakeValueToReplaceTwo);

                context.SaveChanges();

                //Assert
                var valueToReplaceList = context.ValueToReplaces.ToList();

                valueToReplaceList.Should()
                .NotBeEmpty()
                .And.HaveCount(2);

                valueToReplaceList.Should().ContainEquivalentOf(fakeValueToReplaceOne);
                valueToReplaceList.Should().ContainEquivalentOf(fakeValueToReplaceThree);
                Assert.DoesNotContain(valueToReplaceList, lambdaInitialsToReplace => lambdaInitialsToReplace == fakeValueToReplaceTwo);

                context.Database.EnsureDeleted();
            }
        }
示例#3
0
        public void GetValueToReplaces_ReturnExpectedPageSize()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <ValueToReplaceDbContext>()
                            .UseInMemoryDatabase(databaseName: $"ValueToReplaceDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeValueToReplaceOne = new FakeValueToReplace {
            }.Generate();
            var fakeValueToReplaceTwo = new FakeValueToReplace {
            }.Generate();
            var fakeValueToReplaceThree = new FakeValueToReplace {
            }.Generate();

            //Act
            using (var context = new ValueToReplaceDbContext(dbOptions))
            {
                context.ValueToReplaces.AddRange(fakeValueToReplaceOne, fakeValueToReplaceTwo, fakeValueToReplaceThree);
                context.SaveChanges();

                var service = new ValueToReplaceRepository(context, new SieveProcessor(sieveOptions));

                var valueToReplaceRepo = service.GetValueToReplaces(new ValueToReplaceParametersDto {
                    PageSize = 2
                });

                //Assert
                valueToReplaceRepo.Should()
                .NotBeEmpty()
                .And.HaveCount(2);

                valueToReplaceRepo.Should().ContainEquivalentOf(fakeValueToReplaceOne);
                valueToReplaceRepo.Should().ContainEquivalentOf(fakeValueToReplaceTwo);

                context.Database.EnsureDeleted();
            }
        }