public async Task FixAsync_WhenFixingActivity_ShouldSaveToElastic()
        {
            // arrange
            var repo  = new Mock <IElasticActivityDocumentRepository>();
            var fixer = new NotFoundInElasticFixer(repo.Object);
            var dto   = new ActivityDiscrepancy(new Activity(), ActivityDiscrepancyType.NotFoundInElastic);

            // act
            await fixer.FixAsync(dto, CancellationToken.None);

            // assert
            repo.Verify(r => r.UpsertActivityAsync(dto.Activity), Times.Once);
        }
        public void CanHandle_NotFoundInElastic_ShouldReturnTrue(ActivityDiscrepancyType whenCalledWith, bool expectedResult)
        {
            // arrange
            var repo  = new Mock <IElasticActivityDocumentRepository>();
            var fixer = new NotFoundInElasticFixer(repo.Object);
            var dto   = new ActivityDiscrepancy(new Activity(), whenCalledWith);

            // act
            var actualResult = fixer.CanHandle(dto);

            // assert
            Assert.AreEqual(expectedResult, actualResult);
        }