示例#1
0
            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);
            }
示例#2
0
            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));
                }