public async Task ReturnsSaveChanges() { var expectedResult = 1; var insertBlog = new InsertBlog(null); var upserter = A.Fake <IUpsertDbSet <Blog> >(); A.CallTo(() => upserter.Save() ).Returns(expectedResult); var actualResult = await new InsertBlog(null).Execute(upserter); Assert.AreEqual(expectedResult, actualResult); }
public async Task TracksAndSavesBlogToDbSet() { var blogToInsert = new Blog(); var insertBlog = new InsertBlog(blogToInsert); var upserter = A.Fake <IUpsertDbSet <Blog> >(); await insertBlog.Execute(upserter); A.CallTo(() => upserter.AddAsync(A <Blog> .That.IsSameAs(blogToInsert)) ).MustHaveHappenedOnceExactly(); A.CallTo(() => upserter.Save() ).MustHaveHappenedOnceExactly(); }
public async Task DoesNotSaveBlogIfAddThrows() { var expectedException = new Exception(); var insertBlog = new InsertBlog(null); var upserter = A.Fake <IUpsertDbSet <Blog> >(); A.CallTo(() => upserter.AddAsync(A <Blog> .Ignored) ).Throws(expectedException); await Assert.ThrowsExceptionAsync <Exception>(async() => await insertBlog.Execute(upserter) ); A.CallTo(() => upserter.Save() ).MustNotHaveHappened(); }