public async Task FetchSchemeByOrganisationIdAsync_ThrowsInvalidOperationException_WhenNoMatchingOrganisationId()
        {
            using (DatabaseWrapper database = new DatabaseWrapper())
            {
                var dataAccess = new ProcessDataReturnXmlFileDataAccess(database.WeeeContext);

                await Assert.ThrowsAsync <InvalidOperationException>(() => dataAccess.FetchSchemeByOrganisationIdAsync(Guid.NewGuid()));
            }
        }
        public async Task FetchSchemeByOrganisationIdAsync_ThrowsInvalidOperationException_WhenNoMatchingOrganisationId()
        {
            using (DatabaseWrapper database = new DatabaseWrapper())
            {
                var dataAccess = new ProcessDataReturnXmlFileDataAccess(database.WeeeContext);

                await Assert.ThrowsAsync<InvalidOperationException>(() => dataAccess.FetchSchemeByOrganisationIdAsync(Guid.NewGuid()));
            }
        }
        public async Task FetchSchemeByOrganisationIdAsync_GetsSchemeForMatchingOrganisationId()
        {
            using (DatabaseWrapper database = new DatabaseWrapper())
            {
                // Arrange
                ModelHelper helper = new ModelHelper(database.Model);

                var organisation1 = helper.CreateOrganisation();
                helper.CreateScheme(organisation1);

                var organisation2 = helper.CreateOrganisation();
                var scheme2       = helper.CreateScheme(organisation2);

                database.Model.SaveChanges();

                var dataAccess = new ProcessDataReturnXmlFileDataAccess(database.WeeeContext);

                // Act
                var result = await dataAccess.FetchSchemeByOrganisationIdAsync(organisation2.Id);

                // Assert
                Assert.Equal(scheme2.Id, result.Id);
            }
        }
        public async Task FetchSchemeByOrganisationIdAsync_GetsSchemeForMatchingOrganisationId()
        {
            using (DatabaseWrapper database = new DatabaseWrapper())
            {
                // Arrange
                ModelHelper helper = new ModelHelper(database.Model);

                var organisation1 = helper.CreateOrganisation();
                helper.CreateScheme(organisation1);

                var organisation2 = helper.CreateOrganisation();
                var scheme2 = helper.CreateScheme(organisation2);

                database.Model.SaveChanges();

                var dataAccess = new ProcessDataReturnXmlFileDataAccess(database.WeeeContext);

                // Act
                var result = await dataAccess.FetchSchemeByOrganisationIdAsync(organisation2.Id);

                // Assert
                Assert.Equal(scheme2.Id, result.Id);
            }
        }