Пример #1
0
        public void GetValueToReplace_ParametersMatchExpectedValues()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <ValueToReplaceDbContext>()
                            .UseInMemoryDatabase(databaseName: $"ValueToReplaceDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

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

            //Act
            using (var context = new ValueToReplaceDbContext(dbOptions))
            {
                context.ValueToReplaces.AddRange(fakeValueToReplace);
                context.SaveChanges();

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

                //Assert
                var valueToReplaceById = service.GetValueToReplace(fakeValueToReplace.ValueToReplaceId);

                valueToReplaceById.Should().BeEquivalentTo(fakeValueToReplace);
                valueToReplaceById.ValueToReplaceId.Should().Be(fakeValueToReplace.ValueToReplaceId);
                valueToReplaceById.ValueToReplaceTextField1.Should().Be(fakeValueToReplace.ValueToReplaceTextField1);
                valueToReplaceById.ValueToReplaceTextField2.Should().Be(fakeValueToReplace.ValueToReplaceTextField2);
                valueToReplaceById.ValueToReplaceDateField1.Should().Be(fakeValueToReplace.ValueToReplaceDateField1);
            }
        }
Пример #2
0
        public void AddValueToReplace_NewRecordAddedWithProperValues()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <ValueToReplaceDbContext>()
                            .UseInMemoryDatabase(databaseName: $"ValueToReplaceDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

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

            //Act
            using (var context = new ValueToReplaceDbContext(dbOptions))
            {
                var service = new ValueToReplaceRepository(context, new SieveProcessor(sieveOptions));

                service.AddValueToReplace(fakeValueToReplace);

                context.SaveChanges();
            }

            //Assert
            using (var context = new ValueToReplaceDbContext(dbOptions))
            {
                context.ValueToReplaces.Count().Should().Be(1);

                var valueToReplaceById = context.ValueToReplaces.FirstOrDefault(lambdaInitialsToReplace => lambdaInitialsToReplace.ValueToReplaceId == fakeValueToReplace.ValueToReplaceId);

                valueToReplaceById.Should().BeEquivalentTo(fakeValueToReplace);
                valueToReplaceById.ValueToReplaceId.Should().Be(fakeValueToReplace.ValueToReplaceId);
                valueToReplaceById.ValueToReplaceTextField1.Should().Be(fakeValueToReplace.ValueToReplaceTextField1);
                valueToReplaceById.ValueToReplaceTextField2.Should().Be(fakeValueToReplace.ValueToReplaceTextField2);
                valueToReplaceById.ValueToReplaceDateField1.Should().Be(fakeValueToReplace.ValueToReplaceDateField1);
            }
        }
Пример #3
0
        public void GetValueToReplaces_FilterListWithExact(string filters)
        {
            //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 = "Alpha";
            fakeValueToReplaceOne.ValueToReplaceTextField2 = "Bravo";
            fakeValueToReplaceOne.ValueToReplaceIntField1  = 5;

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

            fakeValueToReplaceTwo.ValueToReplaceTextField1 = "Charlie";
            fakeValueToReplaceTwo.ValueToReplaceTextField2 = "Delta";
            fakeValueToReplaceTwo.ValueToReplaceIntField1  = 6;

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

            fakeValueToReplaceThree.ValueToReplaceTextField1 = "Echo";
            fakeValueToReplaceThree.ValueToReplaceTextField2 = "Foxtrot";
            fakeValueToReplaceThree.ValueToReplaceIntField1  = 7;

            //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 {
                    Filters = filters
                });

                //Assert
                valueToReplaceRepo.Should()
                .HaveCount(1);

                context.Database.EnsureDeleted();
            }
        }
Пример #4
0
        public void GetValueToReplaces_SearchQueryReturnsExpectedRecordCount(string queryString, int expectedCount)
        {
            //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 = "Alpha";
            fakeValueToReplaceOne.ValueToReplaceTextField2 = "Bravo";

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

            fakeValueToReplaceTwo.ValueToReplaceTextField1 = "Hartsfield";
            fakeValueToReplaceTwo.ValueToReplaceTextField2 = "White";

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

            fakeValueToReplaceThree.ValueToReplaceTextField1 = "Bravehart";
            fakeValueToReplaceThree.ValueToReplaceTextField2 = "Jonfav";

            //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 {
                    QueryString = queryString
                });

                //Assert
                valueToReplaceRepo.Should()
                .HaveCount(expectedCount);

                context.Database.EnsureDeleted();
            }
        }
Пример #5
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();
            }
        }
Пример #6
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();
            }
        }
Пример #7
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();
            }
        }