public void ShouldNotCallHandleIfTagNotExist()
        {
            dbSetTag.Setup(x => x.FindAsync(id)).Returns(null);
            context.Setup(x => x.Tags).Returns(dbSetTag.Object);

            EditTagCommandHandler editTagCommandHandler = new EditTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object);
            EditTagCommand        editTagCommand        = new EditTagCommand(tagDto);

            Func <Task> act = async() => await editTagCommandHandler.Handle(editTagCommand, new CancellationToken());

            act.Should().ThrowAsync <NotFoundException>();
        }
Example #2
0
        public void UpdateTagCommand()
        {
            var command = new EditTagCommand(tagService);

            command.Model = new TagEditModel()
            {
                Id = 1
            };

            command.Execute();

            Assert.IsTrue(true);
        }
        public void ShouldNotCallHandleIfNotSavedChanges()
        {
            dbSetTag.Setup(x => x.FindAsync(id)).Returns(new ValueTask <Tag>(Task.FromResult(tag)));
            context.Setup(x => x.Tags).Returns(dbSetTag.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(0));

            EditTagCommandHandler editTagCommandHandler = new EditTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object);
            EditTagCommand        editTagCommand        = new EditTagCommand(tagDto);

            Func <Task> act = async() => await editTagCommandHandler.Handle(editTagCommand, new CancellationToken());

            act.Should().ThrowAsync <RestException>();
        }
Example #4
0
        public void ShouldRequireValidTagId()
        {
            var tagToEdit = new Faker <TagCreateOrEditDto>("en")
                            .RuleFor(a => a.Id, f => f.Random.Guid())
                            .RuleFor(a => a.Title, f => f.Lorem.Sentence())
                            .Generate();

            var command = new EditTagCommand(tagToEdit);

            Func <Task> act = async() => await SendAsync(command);

            act.Should().Throw <NotFoundException>();
        }
        public async Task ShouldCallHandle()
        {
            dbSetTag.Setup(x => x.FindAsync(id)).Returns(new ValueTask <Tag>(Task.FromResult(tag)));
            context.Setup(x => x.Tags).Returns(dbSetTag.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1));

            EditTagCommandHandler editTagCommandHandler = new EditTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object);
            EditTagCommand        editTagCommand        = new EditTagCommand(tagDto);

            var result = await editTagCommandHandler.Handle(editTagCommand, new CancellationToken());

            mapper.Verify(x => x.Map(editTagCommand, tag), Times.Once);
            result.Should().Be(Unit.Value);
        }
Example #6
0
        public async Task ShouldNotEditTagIfTitleIsEmpty()
        {
            var loggedUser = await RunAsUserAsync("scott101@localhost", "Pa$$w0rd!");

            var tagId = await CreateTag();

            var tagToCreate = new Faker <TagCreateOrEditDto>("en")
                              .RuleFor(a => a.Id, f => tagId)
                              .Generate();

            tagToCreate.Title = null;

            var command = new EditTagCommand(tagToCreate);

            Func <Task> act = async() => await SendAsync(command);

            act.Should().Throw <Common.Exceptions.ValidationException>();
        }
Example #7
0
        public async Task ShouldUpdateTag()
        {
            var loggedUser = await RunAsUserAsync("scott101@localhost", "Pa$$w0rd!");

            var tagId = await CreateTag();

            var tagToModify = new Faker <TagCreateOrEditDto>("en")
                              .RuleFor(a => a.Id, f => tagId)
                              .RuleFor(a => a.Title, f => f.Lorem.Sentence())
                              .Generate();

            var command = new EditTagCommand(tagToModify);

            await SendAsync(command);

            var modifiedTag = await FindByGuidAsync <Tag>(tagId);

            modifiedTag.Id.Should().Be(tagToModify.Id);
            modifiedTag.Title.Should().Be(tagToModify.Title);
            modifiedTag.LastModifiedBy.Should().Be(loggedUser);
            modifiedTag.LastModified.Should().BeCloseTo(DateTime.UtcNow, new TimeSpan(0, 0, 1));
        }
Example #8
0
 public async Task <IActionResult> Edit([FromHybrid] EditTagCommand command)
 {
     return(await Execute(command));
 }