public async Task Command_RepositoryReturnsSavedObject() { var tc = new TestClass(); var repo = new Mock <IRepository <TestClass> >(); repo.Setup(r => r.Insert(It.IsAny <TestClass>())).ReturnsAsync(tc); var sr = new ServiceResponse <TestClass>(); var w = new ServiceResponseWrapper(sr); var res = await ServiceRepositoryExtensions.Command(repo.Object, r => r.Insert(tc), w); res.ShouldBe(tc); sr.Payload.ShouldBe(tc); sr.Result.ShouldBe(ServiceResult.NotSet); sr.Message.ShouldBeNullOrEmpty(); }
public async Task Command_RepositoryThrows() { var repo = new Mock <IRepository <TestClass> >(); var ex = new Exception(); repo.Setup(r => r.Insert(It.IsAny <TestClass>())).Throws(ex); var sr = new ServiceResponse <TestClass>(); var tc = new TestClass(); var w = new ServiceResponseWrapper(sr); var res = await ServiceRepositoryExtensions.Command(repo.Object, r => r.Insert(tc), w); res.ShouldBeNull(); sr.Payload.ShouldBeNull(); sr.Result.ShouldBe(ServiceResult.Error); sr.Message.ShouldNotBeNullOrEmpty(); w.Exception.ShouldBe(ex); }