public void ShouldSetResultToErrorWithErrorMessage() { //Arange int called = 0; IResult result = new Result(); Action act = () => { throw new Exception(); }; this.saver.Setup(x => x.Save()).Callback(() => { called++; }); StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object); //Act sut.SaveChange(act, ref result); //Assert Assert.AreEqual(called, 0); Assert.AreEqual(result.ResulType, ResultType.Error); Assert.AreEqual(result.ErrorMsg, Constants.ErorsDict[ResultType.Error]); }
public void ShouldCallSaveSaveIfEverythingOkAndNotChangeResult() { //Arange int called = 0; int calledInner = 0; IResult result = new Result(); Action act = () => { calledInner++; }; this.saver.Setup(x => x.Save()).Callback(() => { called++; }); StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object); //Act sut.SaveChange(act, ref result); //Assert Assert.AreEqual(called, 1); Assert.AreEqual(calledInner, 1); Assert.AreEqual(result.ResulType, ResultType.Success); }