public async Task TestInteractor_NotExist() { // ARRANGE // Authorization Service Mocking var authServiceMock = new Mock <IAuthService>(); authServiceMock.Setup(d => d.IsAuthenticated()) .Returns(true); authServiceMock.Setup(d => d.IsAuthorized(AuthorizationRole.Admin)) .Returns(true); // Repository Mocking var repositoryMock = new Mock <IMotorcycleRepository>(); // Repository Get Mocking var tcs = new TaskCompletionSource <(Motorcycle, OperationStatus, IError)>(); tcs.SetResult((null, OperationStatus.NotFound, new Error("Not Found"))); repositoryMock.Setup(d => d.FetchByIdAsync(It.IsAny <long>())) .Returns(tcs.Task); var(request, _) = GetMotorcycleRequest.NewGetMotorcycleRequest(123); (GetMotorcycleInteractor interactor, _) = GetMotorcycleInteractor.NewGetMotorcycleInteractor(repositoryMock.Object, authServiceMock.Object); // ACT (_, IError error) = await interactor.HandleAsync(request); // ASSERT Assert.NotNull(error); }
public async Task TestInteractor_Get() { // ARRANGE // Authorization Service Mocking var authServiceMock = new Mock <IAuthService>(); authServiceMock.Setup(d => d.IsAuthenticated()) .Returns(true); authServiceMock.Setup(d => d.IsAuthorized(AuthorizationRole.Admin)) .Returns(true); // Repository Mocking (Motorcycle motorcycle, _) = Motorcycle.NewMotorcycle("Honda", "Shadow", 2006, "01234567890123456"); motorcycle.Id = 1; var repositoryMock = new Mock <IMotorcycleRepository>(); // Repository Get Mocking var tcs = new TaskCompletionSource <(Motorcycle, OperationStatus, IError)>(); tcs.SetResult((motorcycle, OperationStatus.Ok, null)); repositoryMock.Setup(d => d.FetchByIdAsync(It.IsAny <long>())) .Returns(tcs.Task); var(request, _) = GetMotorcycleRequest.NewGetMotorcycleRequest(motorcycle.Id); (GetMotorcycleInteractor interactor, _) = GetMotorcycleInteractor.NewGetMotorcycleInteractor(repositoryMock.Object, authServiceMock.Object); // ACT (GetMotorcycleResponse response, _) = await interactor.HandleAsync(request); // ASSERT Assert.True(response.Motorcycle.Id == motorcycle.Id); }
public async Task TestInteractor_NotAuthenticated() { // ARRANGE var authServiceMock = new Mock <IAuthService>(); authServiceMock.Setup(d => d.IsAuthenticated()).Returns(false); var repositoryMock = new Mock <IMotorcycleRepository>(); var(request, _) = GetMotorcycleRequest.NewGetMotorcycleRequest(123); (GetMotorcycleInteractor interactor, _) = GetMotorcycleInteractor.NewGetMotorcycleInteractor(repositoryMock.Object, authServiceMock.Object); // ACT (_, IError error) = await interactor.HandleAsync(request); // ASSERT Assert.NotNull(error); }