public async Task ChecksIfTheProjectsWorkspaceHasTheProFeature(bool hasFeature) { const long projectId = 10; const long workspaceId = 11; var project = new MockProject { WorkspaceId = workspaceId }; var feature = new MockWorkspaceFeature { Enabled = hasFeature, FeatureId = WorkspaceFeatureId.Pro }; var featureCollection = new MockWorkspaceFeatureCollection { Features = new[] { feature } }; InteractorFactory.GetWorkspaceFeaturesById(workspaceId) .Execute() .Returns(Observable.Return(featureCollection)); InteractorFactory.GetProjectById(Arg.Is(projectId)) .Execute() .Returns(Observable.Return(project)); var hasProFeature = await InteractorFactory.IsBillableAvailableForProject(projectId).Execute(); hasProFeature.Should().Be(hasFeature); }
public async Task ReturnsTheBillableValueOfTheQueriedProject(bool isBillable) { const long projectId = 10; var project = new MockProject { Billable = isBillable }; InteractorFactory.GetProjectById(Arg.Is(projectId)) .Execute() .Returns(Observable.Return(project)); var defaultsToBillable = await InteractorFactory.ProjectDefaultsToBillable(projectId).Execute(); defaultsToBillable.Should().Be(isBillable); }
private void setupProjectCreationResult(long?returnedId) { NavigationService .Navigate <EditProjectViewModel, string, long?>(Arg.Any <string>()) .Returns(Task.FromResult(returnedId)); if (returnedId == null) { return; } var project = Substitute.For <IThreadSafeProject>(); project.Id.Returns(returnedId.Value); InteractorFactory.GetProjectById(returnedId.Value).Execute().Returns(Observable.Return(project)); }