public async Task Should_ThrowArguementException_WhenRecordNotFound()
        {
            var productName = Guid.NewGuid().ToString();
            var testProduct = new Product()
            {
                Active     = true,
                ModifiedOn = DateTime.Now,
                Name       = productName,
                Price      = 15
            };

            await testProduct.SaveAsync();

            var handler   = new GetProductQueryHandler();
            var testQuery = new Queries.GetProductQuery()
            {
                ProductId = ObjectId.GenerateNewId().ToString()
            };

            Assert.ThrowsAsync <ArgumentException>(async() => await handler.Handle(testQuery, default));
        }
        public async Task Should_ThrowFormatException_WhenQueryIsInvalid()
        {
            var productName = Guid.NewGuid().ToString();
            var testProduct = new Product()
            {
                Active     = true,
                ModifiedOn = DateTime.Now,
                Name       = productName,
                Price      = 15
            };

            await testProduct.SaveAsync();

            var handler   = new GetProductQueryHandler();
            var testQuery = new Queries.GetProductQuery()
            {
                ProductId = "test"
            };

            Assert.ThrowsAsync <FormatException>(async() => await handler.Handle(testQuery, default));
        }