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); }
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>())); }
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")); }
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); }