public CopyToNotificationHandlerTests()
        {
            var applicationRepository = A.Fake <INotificationApplicationRepository>();

            SystemTime.Freeze(new DateTime(2015, 1, 1));
            context = new IwsContext(GetUserContext(), A.Fake <IEventDispatcher>());
            handler = new CopyToNotificationHandler(context,
                                                    new NotificationToNotificationCopy(new WasteCodeCopy()),
                                                    new ExporterToExporterCopy(),
                                                    new TransportRouteToTransportRouteCopy(),
                                                    new WasteRecoveryToWasteRecoveryCopy(),
                                                    new ImporterToImporterCopy(),
                                                    new NotificationApplicationRepository(context, new NotificationApplicationAuthorization(context, GetUserContext())),
                                                    new IntraCountryExportAllowedRepository(context),
                                                    new FacilityCollectionCopy(),
                                                    new CarrierCollectionCopy(),
                                                    new ProducerCollectionCopy(),
                                                    new MeansOfTransportToMeansOfTransportCopy());

            preRunNotifications = context.NotificationApplications.Select(na => na.Id).ToArray();

            source = NotificationApplicationFactory.CreateCompleted(new Guid("0ED9A007-3C35-48A3-B008-9D5623FA5AD9"),
                                                                    UserId,
                                                                    context.Countries.ToArray(),
                                                                    context.WasteCodes.ToArray(),
                                                                    SourceNumber);

            destination = NotificationApplicationFactory.Create(UserId, DestinationNotificationType, DestinationCompetentAuthority, DestinationNumber);
            EntityHelper.SetEntityId(destination, new Guid("63581B29-EFB9-47F0-BCC3-E67382F4EAFA"));

            context.NotificationApplications.Add(source);
            context.NotificationApplications.Add(destination);

            // Calling source id and destination id is only safe after this call to save changes
            context.SaveChanges();

            AddNotificationLinkedEntities(source.Id, destination.Id);
            context.AnnexCollections.Add(new AnnexCollection(destination.Id));

            context.SaveChanges();

            A.CallTo(() => applicationRepository.GetById(A <Guid> .Ignored)).Returns(source);
        }