public async Task SetPrimaryAddress_AddressDoesNotExist_ShouldThrowNotFoundException()
        {
            var sut = new SetPrimaryAddressCommandHandler(_fixture.Context);

            await sut.Handle(new SetPrimaryAddressCommand()
            {
                Id        = Guid.NewGuid(),
                IsPrimary = true
            }, CancellationToken.None)

            .ShouldThrowAsync <NotFoundException>();
        }
        public async Task SetPrimaryAddress_WhenCalled_ShouldSetAddressAsPrimary()
        {
            var sut = new SetPrimaryAddressCommandHandler(_fixture.Context);

            await sut.Handle(new SetPrimaryAddressCommand()
            {
                Id        = _fixture.Addresses.First().Id,
                UserId    = _fixture.CurrentUserId,
                IsPrimary = true
            }, CancellationToken.None);

            _fixture.Addresses.First().PrimaryAddress.ShouldBe(true);
        }
        public async Task SetPrimaryAddress_AnotherAddressIsAlreadyPrimary_ShouldSetNewAddressAsPrimaryOnly()
        {
            var sut = new SetPrimaryAddressCommandHandler(_fixture.Context);
            var newPrimaryAddress = _fixture.Context.Address.Last();

            await sut.Handle(new SetPrimaryAddressCommand()
            {
                Id        = newPrimaryAddress.Id,
                UserId    = _fixture.CurrentUserId,
                IsPrimary = true
            }, CancellationToken.None);

            newPrimaryAddress.PrimaryAddress.ShouldBe(true);
            _fixture.CurrentPrimaryAddress.PrimaryAddress.ShouldBe(false);
        }