Esempio n. 1
0
        public void Setup()
        {
            // Arrange
            var _stepMock = new Mock <Step>();

            _stepMock.SetupGet(s => s.Plant).Returns(TestPlant);

            var _rdMock = new Mock <RequirementDefinition>();

            _rdMock.SetupGet(rd => rd.Id).Returns(2);
            _rdMock.SetupGet(rd => rd.Plant).Returns(TestPlant);

            _projectRepositoryMock = new Mock <IProjectRepository>();

            var requirement = new TagRequirement(TestPlant, 2, _rdMock.Object);

            _tag = new Tag(TestPlant, TagType.Standard, "", "", _stepMock.Object, new List <TagRequirement> {
                requirement
            });
            _tag.SetProtectedIdForTesting(2);
            _tag.IsVoided = true;

            _project = new Project(TestPlant, _projectName, "");
            _project.AddTag(_tag);

            _projectRepositoryMock
            .Setup(x => x.GetProjectByTagIdAsync(_tag.Id))
            .Returns(Task.FromResult(_project));
            _command = new DeleteTagCommand(_tagId, _rowVersion);

            _dut = new DeleteTagCommandHandler(_projectRepositoryMock.Object, UnitOfWorkMock.Object);
        }
        public void ShouldNotCallHandleIfTagNotExist()
        {
            dbSetTag.Setup(x => x.FindAsync(id)).Returns(null);
            context.Setup(x => x.Tags).Returns(dbSetTag.Object);

            DeleteTagCommandHandler deleteTagCommandHandler = new DeleteTagCommandHandler(context.Object, stringLocalizer.Object);
            DeleteTagCommand        deleteTagCommand        = new DeleteTagCommand(id);

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

            act.Should().Throw <NotFoundException>();
        }
Esempio n. 3
0
        public void DeleteTagCommandHandler_NotExisting_NoChange()
        {
            //given
            var repository = LiteDbHelper.CreateMemoryDb();
            var handler    = new DeleteTagCommandHandler(repository);
            var command    = new DeleteTagCommand(new Tag());

            //when
            handler.Execute(command);

            //then
            Assert.Empty(repository.Database.Query <Tag>());
        }
        public void ShouldNotCallHandleIfNotSavedChanges()
        {
            dbSetTag.Setup(x => x.FindAsync(id)).Returns(new ValueTask <Tag>(Task.FromResult(new Tag {
                Id = id
            })));
            context.Setup(x => x.Tags).Returns(dbSetTag.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(0));

            DeleteTagCommandHandler deleteTagCommandHandler = new DeleteTagCommandHandler(context.Object, stringLocalizer.Object);
            DeleteTagCommand        deleteTagCommand        = new DeleteTagCommand(id);

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

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

            DeleteTagCommandHandler deleteTagCommandHandler = new DeleteTagCommandHandler(context.Object, stringLocalizer.Object);
            DeleteTagCommand        deleteTagCommand        = new DeleteTagCommand(id);

            var result = await deleteTagCommandHandler.Handle(deleteTagCommand, new CancellationToken());

            result.Should().Be(Unit.Value);
        }
Esempio n. 6
0
        public async Task GivenInvalidRequest_ShouldThrowNotFoundException()
        {
            // Arrange
            var sut   = new DeleteTagCommandHandler(_context);
            var tagId = 10;

            // Act (Assert)
            var ex = await Assert.ThrowsAsync <NotFoundException>(() => sut.Handle(new DeleteTagCommand
            {
                Id = tagId
            },
                                                                                   CancellationToken.None));

            // Assert
            Assert.IsType <NotFoundException>(ex);
        }
Esempio n. 7
0
        public void GivenValidRequest_ShouldSuccessfullyDeleteTag()
        {
            // Arrange
            var sut    = new DeleteTagCommandHandler(_context);
            var entity = new Tag("Test Tag 1");

            _context.Tags.Add(entity);
            _context.SaveChanges();

            // Act
            var result = sut.Handle(new DeleteTagCommand {
                Id = entity.Id
            }, CancellationToken.None);
            var tag = _context.Tags.FirstOrDefault(i => i.Id == entity.Id);

            // Assert
            Assert.IsType <Unit>(result.Result);
            Assert.Null(tag);
        }
Esempio n. 8
0
        public void DeleteTagCommandHandler_MoreObjects_RemovedProperOne()
        {
            //given
            var targetTag  = new Tag();
            var tags       = new[] { targetTag, new Tag(), new Tag(), new Tag() };
            var repository = LiteDbHelper.CreateMemoryDb();
            var handler    = new DeleteTagCommandHandler(repository);
            var command    = new DeleteTagCommand(targetTag);

            repository.Database.UpsertBulk(tags);

            //when
            handler.Execute(command);

            //then
            tags = tags.Skip(1).OrderBy(x => x.Id).ToArray();
            var actualTags = repository.Database.Query <Tag>().OrderBy(x => x.Id).ToArray();

            Assert.Equal(tags.Length, actualTags.Length);
            Assert.Equal(tags, actualTags);
        }