public async Task Given_A_Valid_Message_Banlist_Property_Should_Not_Be_Null()
        {
            // Arrange
            var banlistDataConsumer = new BanlistDataConsumer
            {
                Message = "{\"ArticleId\":642752,\"Title\":\"April 2000 Lists\",\"BanlistType\":\"Ocg\",\"StartDate\":\"2000-04-01T00:00:00\",\"Sections\":[{\"Title\":\"April 2000 Lists\",\"Content\":[]},{\"Title\":\"Full Lists\",\"Content\":[]},{\"Title\":\"Limited\",\"Content\":[\"Change of Heart\",\"Dark Hole\",\"Exodia the Forbidden One\",\"Last Will\",\"Left Arm of the Forbidden One\",\"Left Leg of the Forbidden One\",\"Mirror Force\",\"Pot of Greed\",\"Raigeki\",\"Right Arm of the Forbidden One\",\"Right Leg of the Forbidden One\"]},{\"Title\":\"Semi-Limited\",\"Content\":[\"Graceful Charity\",\"Harpie's Feather Duster\",\"Monster Reborn\"]}]}"
            };

            _banlistService.Add(Arg.Any <YugiohBanlist>()).Returns(new Banlist());

            // Act
            var result = await _sut.Handle(banlistDataConsumer, CancellationToken.None);

            // Assert
            result.YugiohBanlist.Should().NotBeNull();
        }
        public async Task Given_A_Valid_Message_If_Banlist_Exists_Should_Invoke_Add_Method_Once()
        {
            // Arrange
            const int expected            = 1;
            var       banlistDataConsumer = new BanlistDataConsumer
            {
                Message = "{\"ArticleId\":642752,\"Title\":\"April 2000 Lists\",\"BanlistType\":\"Ocg\",\"StartDate\":\"2000-04-01T00:00:00\",\"Sections\":[{\"Title\":\"April 2000 Lists\",\"Content\":[]},{\"Title\":\"Full Lists\",\"Content\":[]},{\"Title\":\"Limited\",\"Content\":[\"Change of Heart\",\"Dark Hole\",\"Exodia the Forbidden One\",\"Last Will\",\"Left Arm of the Forbidden One\",\"Left Leg of the Forbidden One\",\"Mirror Force\",\"Pot of Greed\",\"Raigeki\",\"Right Arm of the Forbidden One\",\"Right Leg of the Forbidden One\"]},{\"Title\":\"Semi-Limited\",\"Content\":[\"Graceful Charity\",\"Harpie's Feather Duster\",\"Monster Reborn\"]}]}"
            };

            _banlistService.BanlistExist(Arg.Any <int>()).Returns(false);
            _banlistService.Add(Arg.Any <YugiohBanlist>()).Returns(new Banlist());

            // Act
            await _sut.Handle(banlistDataConsumer, CancellationToken.None);

            // Assert
            await _banlistService.Received(expected).Add(Arg.Any <YugiohBanlist>());
        }