public async Task GivenLicenseWithId_ReturnsLicense()
            {
                // Arrange
                var licenseId = Guid.NewGuid();

                var query = new GetLicenseByIdQuery
                {
                    LicenseId = licenseId
                };

                var license = new LicenseEntity
                {
                    Id       = licenseId,
                    Key      = "This is a key",
                    Created  = DateTime.UtcNow,
                    UserId   = Guid.NewGuid(),
                    Products = new List <LicenseProductEntity>
                    {
                        new LicenseProductEntity
                        {
                            Name       = "Product Name",
                            Created    = DateTime.UtcNow,
                            Expiration = DateTime.UtcNow.AddDays(1)
                        }
                    }
                };

                await _licenseCollection.InsertOneAsync(license, null, CancellationToken.None);

                // Act
                var result = await _classUnderTest.Handle(query, CancellationToken.None);

                // Assert
                Assert.Multiple(() =>
                {
                    Assert.That(result.Id, Is.EqualTo(licenseId));
                    Assert.That(result.Key, Is.Not.EqualTo(license.Key));
                    DiagnoseaAssert.That(result.Created, Is.Not.EqualTo(license.Created));
                    Assert.That(result.UserId, Is.Not.Null);
                    CollectionAssert.IsNotEmpty(result.Products);
                    Assert.That(result.Products[0].Name, Is.EqualTo(license.Products[0].Name));
                    DiagnoseaAssert.That(result.Products[0].Created, Is.Not.EqualTo(license.Products[0].Created));
                    DiagnoseaAssert.That(result.Products[0].Expiration, Is.EqualTo(license.Products[0].Expiration));
                });
            }
            public async Task GivenLicenseWithoutId_ReturnsNull()
            {
                // Arrange
                var query = new GetLicenseByIdQuery
                {
                    LicenseId = Guid.NewGuid()
                };

                var license = new LicenseEntity
                {
                    Id = Guid.NewGuid()
                };

                await _licenseCollection.InsertOneAsync(license, null, CancellationToken.None);

                // Act
                var result = await _classUnderTest.Handle(query, CancellationToken.None);

                // Assert
                Assert.That(result, Is.Null);
            }