public void ThrowsNullArgumentExceptionForNullSpecimenContext()
        {
            var databaseName = Guid.NewGuid().ToString();
            var builder      = new InMemoryOptionsBuilder(databaseName);

            Action act = () => builder.Create(typeof(DbContextOptions <TestDbContext>), null);

            act.Should().ThrowExactly <ArgumentNullException>();
        }
        public void ReturnsNoSpecimenForNonOptionsRequest(object request)
        {
            var databaseName = Guid.NewGuid().ToString();
            var contextMock  = new Mock <ISpecimenContext>();
            var builder      = new InMemoryOptionsBuilder(databaseName);

            var actual = builder.Create(request, contextMock.Object);

            actual.Should().BeOfType <NoSpecimen>();
        }
        public void ReturnsOptionsInstanceWithExpectedProvider()
        {
            var databaseName = Guid.NewGuid().ToString();
            var contextMock  = new Mock <ISpecimenContext>();
            var builder      = new InMemoryOptionsBuilder(databaseName);

            var actual = builder.Create(typeof(DbContextOptions <TestDbContext>), contextMock.Object);

            actual.As <DbContextOptions <TestDbContext> >()
            .Extensions.Should().Contain(x => x.GetType() == typeof(InMemoryOptionsExtension));
        }
        public void ReturnsRequestedDbContextOptionsInstance()
        {
            var databaseName = Guid.NewGuid().ToString();
            var contextMock  = new Mock <ISpecimenContext>();
            var builder      = new InMemoryOptionsBuilder(databaseName);

            var actual = builder.Create(typeof(DbContextOptions <TestDbContext>), contextMock.Object);

            actual.Should().NotBeNull()
            .And.Subject.Should().BeOfType <DbContextOptions <TestDbContext> >();
        }
Example #5
0
        public void GenericBuild_ShouldCreateDbContextOptions_WithInMemoryExtension_WithName(string expected)
        {
            var extension = new InMemoryOptionsBuilder(expected)
                            .Build <TestDbContext>()
                            .Extensions
                            .Single(x => x.GetType() == typeof(InMemoryOptionsExtension))
                            .As <InMemoryOptionsExtension>();

#pragma warning disable EF1001 // Internal EF Core API usage.
            extension.StoreName.Should().Be(expected);
#pragma warning restore EF1001 // Internal EF Core API usage.
        }
Example #6
0
        public void Build_ShouldCreateDbContextOptions_WithInMemoryExtension(InMemoryOptionsBuilder builder)
        {
            var actual = builder.Build(typeof(TestDbContext)).As <DbContextOptions <TestDbContext> >();

            actual.Extensions.Should().Contain(x => x.GetType() == typeof(InMemoryOptionsExtension));
        }
Example #7
0
        public void Build_ShouldThrowArgumentNullException_WhenTypeIsAbstract(InMemoryOptionsBuilder builder)
        {
            Action action = () => builder.Build(typeof(AbstractDbContext));

            action.Should().Throw <ArgumentException>();
        }
Example #8
0
        public void Build_ShouldThrowArgumentNullException_WhenTypeIsNull(InMemoryOptionsBuilder builder)
        {
            Action action = () => builder.Build(null);

            action.Should().Throw <ArgumentNullException>();
        }
Example #9
0
        public void Build_ShouldBuildDbContextOptionsInstance(InMemoryOptionsBuilder builder)
        {
            var options = builder.Build(typeof(TestDbContext));

            options.Should().BeOfType <DbContextOptions <TestDbContext> >();
        }