public async Task Then_the_incentive_application_is_added_to_the_data_store()
        {
            // Arrange
            var testApplication = _fixture
                                  .Build <IncentiveApplicationModel>()
                                  .Create();

            // Act
            await _sut.Add(testApplication);

            await _dbContext.SaveChangesAsync();

            // Assert
            _dbContext.Applications.Count().Should().Be(1);

            var storedApplication = _dbContext.Applications.Single();

            storedApplication.Id.Should().Be(testApplication.Id);
            storedApplication.AccountId.Should().Be(testApplication.AccountId);
            storedApplication.AccountLegalEntityId.Should().Be(testApplication.AccountLegalEntityId);
            storedApplication.DateCreated.Should().Be(testApplication.DateCreated);
            storedApplication.DateSubmitted.Should().Be(testApplication.DateSubmitted);
            storedApplication.Status.Should().Be(testApplication.Status);
            storedApplication.SubmittedByEmail.Should().Be(testApplication.SubmittedByEmail);
            storedApplication.SubmittedByName.Should().Be(testApplication.SubmittedByName);
        }
        public async Task Arrange()
        {
            _fixture = new Fixture();

            var options = new DbContextOptionsBuilder <EmployerIncentivesDbContext>()
                          .UseInMemoryDatabase("EmployerIncentivesDbContext" + Guid.NewGuid()).Options;

            _dbContext = new EmployerIncentivesDbContext(options);

            _testApplication = _fixture
                               .Build <IncentiveApplicationModel>()
                               .Create();

            _sut = new IncentiveApplication.IncentiveApplicationDataRepository(new Lazy <EmployerIncentivesDbContext>(_dbContext));
            await _sut.Add(_testApplication);

            await _dbContext.SaveChangesAsync();
        }