Exemple #1
0
        public CreateTagCommandTest()
        {
            var cache = new Mock <IDistributedCache>();

            _context = InitAndGetDbContext(out _adminUserId, out _questionId, out _tenantId);
            _createTagCommandHandler = new CreateTagCommandHandler(_context, new CacheManager(cache.Object));
        }
        public void ShouldNotCallHandleIfNotSavedChanges()
        {
            context.Setup(x => x.Tags).Returns(dbSetTag.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(0));

            CreateTagCommandHandler createTagCommandHandler = new CreateTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object);
            CreateTagCommand        createTagCommand        = new CreateTagCommand();

            mapper.Setup(x => x.Map <Tag>(createTagCommand)).Returns(new Tag());

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

            act.Should().Throw <RestException>();
        }
        public void GivenValidRequest_ShouldCreateCorrectTagEntity()
        {
            // Arrange
            var sut        = new CreateTagCommandHandler(_context);
            var newTagName = "New Tag 1";

            // Act
            var result = sut.Handle(new CreateTagCommand {
                Name = newTagName
            }, CancellationToken.None);
            var entity = _context.Tags.FirstOrDefault(x => x.Name.Equals(newTagName));

            // Assert
            Assert.IsType <Unit>(result.Result);
            Assert.True(entity.Id > 0);
            Assert.Equal("new-tag-1", entity.Slug);
            Assert.Empty(entity.PostTags);
            Assert.True(entity.Created < DateTime.UtcNow);
        }
        public async Task ShouldCallHandle()
        {
            var id     = new Guid();
            var tagDto = new TagCreateOrEditDto {
                Id = id
            };
            var tag = new Tag {
                Id = id
            };

            context.Setup(x => x.Tags).Returns(dbSetTag.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1));

            CreateTagCommandHandler createTagCommandHandler = new CreateTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object);
            CreateTagCommand        createTagCommand        = new CreateTagCommand(tagDto);

            mapper.Setup(x => x.Map <Tag>(createTagCommand)).Returns(tag);

            var result = await createTagCommandHandler.Handle(createTagCommand, new CancellationToken());

            result.Should().Be(id);
        }