Beispiel #1
0
        public async Task <ActionResult> UpgradeToPremium(Guid id)
        {
            var contactDetailsQuery = new ContactDetailsQuery(id);
            var contact             = await Mediator.Send(contactDetailsQuery);

            if (contact == null)
            {
                return(NotFound("Contact not found"));
            }

            var upgradeToPremiumCommand = new UpgradeToPremiumCommand(contact.Id);
            await Mediator.Send(upgradeToPremiumCommand);

            return(NoContent());
        }
        public async void Upgrades_Contact_To_Premium_Member()
        {
            //Arrange
            var contact = Context.Contacts.First();

            Mediator.Setup(x => x.Send(It.IsAny <UpgradeToPremiumCommand>(), new CancellationToken()))
            .ReturnsAsync(Unit.Value);

            //Act
            var upgradeToPremiumCommand = new UpgradeToPremiumCommand(contact.Id);
            var handler = new UpgradeToPremiumCommandHandler(Context);
            var result  = await handler.Handle(upgradeToPremiumCommand, new CancellationToken());

            //Assert
            result.Should()
            .BeOfType <Unit>()
            .Equals(Unit.Value);

            DbContextFactory.Destroy(Context);
        }