public void GetUnitPlanViewModel_Should_Return_Result() { DateTimeDbTestExtensions.SetUtcNowToRandomDate(); var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var unitReport = new UnitReportBuilder() .BuildAndPersist(s); var unitReportViewModel = TestHelper.ConvertToUnitPlanViewModel(unitReport); TestHelper.SetUserAccessAllOrganizationsClaim(username); return(unitReportViewModel); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <IUnitReportQueryService>() .GetUnitPlanViewModel(testParams.Id)); result.Should().NotBeNull(); //-- after finding the issue it will be removed result.BookLibraryStockPlanData = ValueObjects.LibraryStockData.Default(); result.VhsLibraryStockPlanData = ValueObjects.LibraryStockData.Default(); result.OtherLibraryStockPlanData = ValueObjects.LibraryStockData.Default(); //--------- result.Should().BeEquivalentTo(testParams); }
public void Has_Central_Should_Return_CorrectResult(bool isCentralUser) { var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var reportingFrequency = ReportingFrequency.Monthly; var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations( stateReportingFrequency: reportingFrequency, zoneReportingFrequency: ReportingFrequency.Monthly); var central = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.Central).Value; var nsw = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.NswState).Value; var organizationUser1 = new TestObjectBuilder <OrganizationUser>() .SetArgument(o => o.Username, username) .SetArgument(o => o.Organization, isCentralUser?central: nsw) .BuildAndPersist(s); new UserContextBuilder() .SetUsername(username) .AddClaims(TestHelper.GetOrganizationClaims(username, new[] { organizationUser1 })) .SetCurrentPrincipal(); return(new { organizationUser1 }); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <OrganizationUserQueryService>() .HasCentralAccess(testParams.organizationUser1.Username)); result.Should().Be(isCentralUser); }
public void GetManagedOrganizationViewModel_For_Zone_Should_Return_CorrectResult() { var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var reportingFrequency = ReportingFrequency.Monthly; var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations( stateReportingFrequency: reportingFrequency, zoneReportingFrequency: ReportingFrequency.Monthly); var zone = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.NswZoneOne).Value; return(new { organizations, zone }); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <OrganizationQueryService>() .GetOrganizationViewModel(testParams.zone.Id)); result.Should().NotBeNull(); result.ManagedOrganizations.Count().Should().Be(2); }
public void GetUnitReportViewModel_Should_Return_Result() { DateTimeDbTestExtensions.SetUtcNowToRandomDate(); var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var unitReport = new UnitReportBuilder() .Build(); unitReport.MarkStatusAsSubmitted(); s.Save(unitReport); var submittedUnitReportViewModel = TestHelper.ConvertToUnitReportViewModel(unitReport); TestHelper.SetUserAccessAllOrganizationsClaim(username); return(submittedUnitReportViewModel); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <UnitReportQueryService>() .GetUnitReportViewModel(testParams.Id)); result.Should().NotBeNull(); result.Should().BeEquivalentTo(testParams); }
public void GetMyOrganizations_For_CentralUser_Should_Return_CorrectResult() { var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var reportingFrequency = ReportingFrequency.Monthly; var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations( stateReportingFrequency: reportingFrequency, zoneReportingFrequency: ReportingFrequency.Monthly); TestHelper.SetUserAccessAllOrganizationsClaim(username); return(new { organizations, }); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <OrganizationQueryService>() .GetMyOrganizations()); result.Should().NotBeNull(); result.Length.Should().Be(testParams.organizations.Count); }
public void GetManagedOrganizationIds_For_Central_Should_Return_CorrectResult() { var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var reportingFrequency = ReportingFrequency.Monthly; var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations( stateReportingFrequency: reportingFrequency, zoneReportingFrequency: ReportingFrequency.Monthly); var central = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.Central).Value; return(new { organizations, central }); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <OrganizationQueryService>() .GetManagedOrganizationIds(testParams.central.Id)); result.Should().NotBeNull(); result.Length.Should().Be(7); }
public void SearchReportEventLog_Should_Return_NoResult_For_No_OrganizationClaims_Assigned_To_User() { var username1 = DataProvider.Get <string>(); var username2 = DataProvider.Get <string>(); Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { EntityReference organization1 = new OrganizationBuilder().BuildAndPersist(s); EntityReference organization2 = new OrganizationBuilder().BuildAndPersist(s); new TestObjectBuilder <OrganizationUser>() .SetArgument(o => o.Username, username1) .SetArgument(o => o.Organization, organization1) .BuildAndPersist(s); new TestObjectBuilder <ReportEventLog>() .SetArgument(o => o.CreatedByUsername, username1) .SetArgument(o => o.OrganizationId, null) .BuildAndPersist(s); new TestObjectBuilder <ReportEventLog>() .SetArgument(o => o.CreatedByUsername, username1) .SetArgument(o => o.OrganizationId, organization1.Id) .BuildAndPersist(s); new TestObjectBuilder <ReportEventLog>() .SetArgument(o => o.CreatedByUsername, username1) .SetArgument(o => o.OrganizationId, organization2.Id) .BuildAndPersist(s); new TestObjectBuilder <ReportEventLog>() .SetArgument(o => o.CreatedByUsername, username2) .SetArgument(o => o.OrganizationId, organization2.Id) .BuildAndPersist(s); new UserContextBuilder() .SetUsername(username1) .AddClaims(TestHelper.GetOrganizationClaims(username1, new OrganizationUser[0])) .SetCurrentPrincipal(); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <IReportEventLogQueryService>() .SearchReportEventLog(new ReportEventLogSearchTerms())); result.Should().NotBeNull(); result.Items.Length.Should().Be(0); }
public void GetMyOrganizations_For_User_Should_Return_CorrectResult(OrganizationType organizationType) { var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var reportingFrequency = ReportingFrequency.Monthly; var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations( stateReportingFrequency: reportingFrequency, zoneReportingFrequency: ReportingFrequency.Monthly); var state = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.NswState).Value; var unit = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.Footscray).Value; var organizationUser1 = new TestObjectBuilder <OrganizationUser>() .SetArgument(o => o.Username, username) .SetArgument(o => o.Organization, organizationType == OrganizationType.State? state : unit) .BuildAndPersist(s); new UserContextBuilder() .SetUsername(username) .AddClaims(TestHelper.GetOrganizationClaims(username, new[] { organizationUser1 })) .SetCurrentPrincipal(); return(new { state, unit }); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <OrganizationQueryService>() .GetMyOrganizations()); var organizationId = organizationType == OrganizationType.State ? testParams.state.Id : testParams.unit.Id; result.Should().NotBeNull(); result.Where(o => o.Id == organizationId).Should().NotBeNull(); }
public void SearchReportEventLog_Should_Return_Result() { var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { EntityReference organization1 = new OrganizationBuilder().BuildAndPersist(s); EntityReference organization2 = new OrganizationBuilder().BuildAndPersist(s); var organizationUser1 = new TestObjectBuilder <OrganizationUser>() .SetArgument(o => o.Username, username) .SetArgument(o => o.Organization, organization1) .BuildAndPersist(s); var reportEventLog = new TestObjectBuilder <ReportEventLog>() .SetArgument(o => o.CreatedByUsername, username) .SetArgument(o => o.OrganizationId, organization1.Id) .BuildAndPersist(s); new TestObjectBuilder <ReportEventLog>() .SetArgument(o => o.CreatedByUsername, username) .SetArgument(o => o.OrganizationId, organization2.Id) .BuildAndPersist(s); new UserContextBuilder() .SetUsername(username) .AddClaims(TestHelper.GetOrganizationClaims(username, new [] { organizationUser1 })) .SetCurrentPrincipal(); return(new { reportEventLog, organizationUser1 }); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <IReportEventLogQueryService>() .SearchReportEventLog(new ReportEventLogSearchTerms())); result.Should().NotBeNull(); result.Items.Length.Should().Be(1); result.Items[0].CreatedByUsername.Should().Be(testParams.organizationUser1.Username); result.Items[0].OrganizationId.Should().Be(testParams.organizationUser1.Organization.Id); }
public void GetCentralPlanViewModel_Should_Return_Result() { DateTimeDbTestExtensions.SetUtcNowToRandomDate(); var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var centralReport = new CentralReportBuilder() .BuildAndPersist(s); var centralPlanViewModel = TestHelper.ConvertToCentralPlanViewModel(centralReport); TestHelper.SetUserAccessAllOrganizationsClaim(username); return(centralPlanViewModel); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => c.GetInstance <ICentralReportQueryService>() .GetCentralPlanViewModel(testParams.Id)); result.Should().NotBeNull(); result.Should().BeEquivalentTo(testParams); }
public void GetReportingPeriodsToCreatePlan_For_User_Should_Return_CorrectResult(OrganizationType organizationType) { DateTimeDbTestExtensions.SetLocalNowToRandomDate(); var username = DataProvider.Get <string>(); var testParams = Endpoint.ArrangeOnSqlSession(AssemblySetupFixture.EndpointTestContainer, s => { var organizations = IntegrationTestOrganizationHelper.SetupOrzanizations(); var central = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.Central).Value; var state = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.NswState).Value; var zone = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.NswZoneOne).Value; var unit = organizations.First(o => o.Key == IntegrationTestOrganizationHelper.Footscray).Value; EntityReference sut = null; switch (organizationType) { case OrganizationType.Central: sut = central; break; case OrganizationType.State: sut = state; break; case OrganizationType.Zone: sut = zone; break; default: sut = unit; break; } var organizationUser1 = new TestObjectBuilder <OrganizationUser>() .SetArgument(o => o.Username, username) .SetArgument(o => o.Organization, sut) .BuildAndPersist(s); new UserContextBuilder() .SetUsername(username) .AddClaims(TestHelper.GetOrganizationClaims(username, new[] { organizationUser1 })) .SetCurrentPrincipal(); return(new { sut }); }); var result = NsbWebTest.Act(AssemblySetupFixture.WebTestContainer, c => { return(c.GetInstance <OrganizationQueryService>() .GetReportingPeriods(testParams.sut.Id)); }); if (organizationType == OrganizationType.Unit) { result.Length.Should().Be(36); var activeReportPeriod = result.Single(o => o.IsActive); activeReportPeriod.Should().NotBeNull(); } else { result.Length.Should().Be(20); var activeAnnualReportPeriod = result.Single(o => o.IsActive && o.ReportingFrequency == ReportingFrequency.Yearly); activeAnnualReportPeriod.Should().NotBeNull(); var activeQuarterlyReportPeriod = result.Single(o => o.IsActive && o.ReportingFrequency == ReportingFrequency.Quarterly); activeQuarterlyReportPeriod.Should().NotBeNull(); } }