Beispiel #1
0
        public void Call_Commit_ToVerify_DataSave()
        {
            // Arrange
            var submisionsRepoFake = new Mock <IEfRepository <Submission> >();
            var challengeRepoFake  = new Mock <IEfRepository <Challenge> >();
            var efDataFake         = new Mock <IEfData>();
            var timeFake           = new Mock <ITimeProvider>();
            var mapperFake         = new Mock <IMappingProvider>();
            var userFake           = new Mock <User>();

            var service = new SubmissionsService(submisionsRepoFake.Object, challengeRepoFake.Object, efDataFake.Object,
                                                 timeFake.Object, mapperFake.Object);

            var challengeFake = new Mock <Challenge>();

            challengeRepoFake.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(challengeFake.Object);

            efDataFake.Setup(x => x.Commit()).Verifiable();


            // Act
            service.Create(userFake.Object, It.IsAny <Guid>(), "sourceCode");

            // Assert
            efDataFake.Verify(x => x.Commit(), Times.Once);
        }
        public void Submission_Create_Test()
        {
            //Arrange
            Submission entity = new Submission()
            {
                Id          = 2,
                ProblemName = "Name",
                Language    = "string"
            };

            mockRepository
            .Setup(x => x.Add(entity));

            //Act
            bool result = service.Create(entity);

            //Assert
            Assert.True(result);
        }
Beispiel #3
0
        public void Call_ChallengeRepositoryGetById_WithCorrectParam()
        {
            // Arrange
            var submisionsRepo    = new Mock <IEfRepository <Submission> >();
            var challengeRepoFake = new Mock <IEfRepository <Challenge> >();
            var efDataFake        = new Mock <IEfData>();
            var timeFake          = new Mock <ITimeProvider>();
            var mapperFake        = new Mock <IMappingProvider>();

            var service = new SubmissionsService(submisionsRepo.Object, challengeRepoFake.Object, efDataFake.Object,
                                                 timeFake.Object, mapperFake.Object);

            Assert.Throws <ArgumentNullException>(() => service.Create(null, It.IsAny <Guid>(), It.IsAny <string>()));
        }
Beispiel #4
0
        public void ThrowsArgumentException_When_AChallengeWithThePassedId_IsNotFound()
        {
            // Arrange
            var submisionsRepo    = new Mock <IEfRepository <Submission> >();
            var challengeRepoFake = new Mock <IEfRepository <Challenge> >();
            var efDataFake        = new Mock <IEfData>();
            var timeFake          = new Mock <ITimeProvider>();
            var mapperFake        = new Mock <IMappingProvider>();

            var service = new SubmissionsService(submisionsRepo.Object, challengeRepoFake.Object, efDataFake.Object,
                                                 timeFake.Object, mapperFake.Object);

            var       userFake  = new Mock <User>();
            Challenge challenge = null;

            challengeRepoFake.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(challenge);

            // Act & Assert
            Assert.Throws <ArgumentException>(() => service.Create(userFake.Object, It.IsAny <Guid>(), "sourceCode"));
        }
Beispiel #5
0
        public void Call_SubmissionsRepositoryAdd_WithCorrectlyCreatedObject()
        {
            // Arrange
            var submisionsRepoFake = new Mock <IEfRepository <Submission> >();
            var challengeRepoFake  = new Mock <IEfRepository <Challenge> >();
            var efDataFake         = new Mock <IEfData>();
            var timeFake           = new Mock <ITimeProvider>();
            var mapperFake         = new Mock <IMappingProvider>();

            var service = new SubmissionsService(submisionsRepoFake.Object, challengeRepoFake.Object, efDataFake.Object,
                                                 timeFake.Object, mapperFake.Object);

            var challengeFake = new Mock <Challenge>();

            challengeRepoFake.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(challengeFake.Object);
            Submission passedSubmission = null;

            submisionsRepoFake.Setup(x => x.Add(It.IsAny <Submission>()))
            .Callback <Submission>(x => passedSubmission = x);

            var createDate = DateTime.UtcNow;

            timeFake.Setup(x => x.UtcNow).Returns(createDate);

            var    userFake    = new Mock <User>();
            var    challengeId = Guid.NewGuid();
            string sourceCode  = "sourceCode";

            // Act
            service.Create(userFake.Object, challengeId, sourceCode);

            // Assert
            Assert.AreEqual(passedSubmission.User, userFake.Object);
            Assert.AreEqual(passedSubmission.Challenge, challengeFake.Object);
            Assert.AreEqual(passedSubmission.CreatedOn, createDate);
            Assert.AreEqual(passedSubmission.SourceCode, sourceCode);
        }