public async Task CreateJudgeThenUpdatedShoudlBeSuccessById()
        {
            CreateCategoryAsync();
            JudgeAddDoer judgeAddDoer =
                new JudgeAddDoer(_geekLemonContex, _mapper);

            var judge = GivenJudge().WithCategory(c => c.WithId(1))
                        .WithId(1).Build();

            var status = await judgeAddDoer.Run(judge);

            status.Success.Should().BeTrue();

            JudgeUpdateDoer judgeUpdateDoer =
                new JudgeUpdateDoer(_geekLemonContex, _mapper);

            var judge2 = GivenJudge().WithId(1)
                         .WithLogin("qwertyuiop")
                         .Build();

            var status2 = await judgeUpdateDoer.Run(judge2, ByWhatId.CreatedId);

            status2.Success.Should().BeTrue();

            JudgeGetByIdDoer categoryGetByIdDoer =
                new JudgeGetByIdDoer(_geekLemonContex, _mapper);

            var status3 = await categoryGetByIdDoer.Run(
                status.Value.CreatedId as JudgeId);

            status3.Success.Should().BeTrue();

            status3.Value.Should().NotBeSameAs(judge);
        }
        public async Task CreateJudgeShouldBeSuccessThenDeleteByUniqueIdThenTryGetByUniqueIdAndFail()
        {
            CreateCategoryAsync();

            JudgeAddDoer judgeAddDoer =
                new JudgeAddDoer(_geekLemonContex, _mapper);

            var judge = GivenJudge().WithCategory(c => c.WithId(1)).Build();

            var status = await judgeAddDoer.Run(judge);

            status.Success.Should().BeTrue();

            JudgeDeleteDoer judgeDeleteDoer =
                new JudgeDeleteDoer(_geekLemonContex, _mapper);

            var status2 = await judgeDeleteDoer.Run(
                status.Value.UniqueId as JudgeUniqueId);

            status2.Success.Should().BeTrue();

            JudgeGetByIdDoer judgeGetByIdDoer =
                new JudgeGetByIdDoer(_geekLemonContex, _mapper);

            var status3 = await judgeGetByIdDoer.Run(
                status.Value.UniqueId as JudgeUniqueId);

            status3.Success.Should().BeFalse();
        }
        public async Task CreateJudgeShouldBeSuccessThenGetByIdThatJudge()
        {
            CreateCategoryAsync();

            JudgeAddDoer judgeAddDoer =
                new JudgeAddDoer(_geekLemonContex, _mapper);

            var judge = GivenJudge().WithCategory(c => c.WithId(1)).Build();

            var status = await judgeAddDoer.Run(judge);

            status.Success.Should().BeTrue();

            JudgeGetByIdDoer judgeGetByIdDoer =
                new JudgeGetByIdDoer(_geekLemonContex, _mapper);

            var status2 = await judgeGetByIdDoer.Run(
                status.Value.CreatedId as JudgeId);

            status2.Success.Should().BeTrue();

            status2.Value.Should().Equals(judge);
        }