public async Task HandleAsync_Always_ReturnsSchemesOrderedBySchemeName() { // Arrange IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); IMap <Scheme, SchemeData> schemeMap = new SchemeMap(A.Dummy <IMapper>(), A.Fake <IMap <Address, AddressData> >(), A.Fake <IMap <Contact, ContactData> >()); Organisation organisation = Organisation.CreateSoleTrader("Test Organisation"); Scheme scheme1 = new Scheme(organisation); scheme1.UpdateScheme("Scheme C", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); scheme1.SetStatus(SchemeStatus.Approved); Scheme scheme2 = new Scheme(organisation); scheme2.UpdateScheme("Scheme A", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); scheme2.SetStatus(SchemeStatus.Approved); Scheme scheme3 = new Scheme(organisation); scheme3.UpdateScheme("Scheme D", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); scheme3.SetStatus(SchemeStatus.Approved); Scheme scheme4 = new Scheme(organisation); scheme4.UpdateScheme("Scheme B", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); scheme4.SetStatus(SchemeStatus.Approved); IGetSchemesDataAccess dataAccess = A.Fake <IGetSchemesDataAccess>(); A.CallTo(() => dataAccess.GetSchemes()).Returns( new List <Scheme>() { scheme1, scheme2, scheme3, scheme4 }); GetSchemesHandler handler = new GetSchemesHandler( authorization, schemeMap, dataAccess); // Act GetSchemes request = new GetSchemes(GetSchemes.FilterType.Approved); List <SchemeData> results = await handler.HandleAsync(request); // Assert Assert.NotNull(results); Assert.Equal(4, results.Count); Assert.Collection(results, r => Assert.Equal("Scheme A", r.SchemeName), r => Assert.Equal("Scheme B", r.SchemeName), r => Assert.Equal("Scheme C", r.SchemeName), r => Assert.Equal("Scheme D", r.SchemeName)); }
public async void GetSchemesExternalHandlerHandleAsync_GivenGetSchemeExternalRequest_ReturnListOfSchemesThatAreApprovedOrWithdrawn() { using (var database = new DatabaseWrapper()) { var context = database.WeeeContext; var mapper = new SchemeMap(A.Fake <IMapper>(), A.Fake <IMap <Address, AddressData> >(), A.Fake <IMap <Contact, ContactData> >()); var name = "Test Name" + Guid.NewGuid(); var tradingName = "Test Trading Name" + Guid.NewGuid(); const string crn = "ABC12345"; var organisationApproved = Organisation.CreateRegisteredCompany(name, crn, tradingName); organisationApproved.OrganisationStatus = OrganisationStatus.Complete; var organisationPending = Organisation.CreateRegisteredCompany(name, crn, tradingName); organisationPending.OrganisationStatus = OrganisationStatus.Complete; var organisationWithdrawn = Organisation.CreateRegisteredCompany(name, crn, tradingName); organisationWithdrawn.OrganisationStatus = OrganisationStatus.Complete; var organisationRejected = Organisation.CreateRegisteredCompany(name, crn, tradingName); organisationRejected.OrganisationStatus = OrganisationStatus.Complete; context.Organisations.Add(organisationApproved); context.Organisations.Add(organisationPending); context.Organisations.Add(organisationWithdrawn); context.Organisations.Add(organisationRejected); await context.SaveChangesAsync(); var schemeApproved = new Scheme(organisationApproved.Id); schemeApproved.SetStatus(SchemeStatus.Approved); context.Schemes.Add(schemeApproved); var schemeApprovedData = mapper.Map(schemeApproved); var schemePending = new Scheme(organisationPending.Id); schemePending.SetStatus(SchemeStatus.Pending); context.Schemes.Add(schemePending); var schemeWithdrawn = new Scheme(organisationWithdrawn.Id); schemeWithdrawn.SetStatus(SchemeStatus.Approved); schemeWithdrawn.SetStatus(SchemeStatus.Withdrawn); context.Schemes.Add(schemeWithdrawn); var schemeWithdrawnData = mapper.Map(schemeWithdrawn); var schemeRejected = new Scheme(organisationRejected.Id); schemeRejected.SetStatus(SchemeStatus.Rejected); context.Schemes.Add(schemeRejected); await context.SaveChangesAsync(); var dataAccess = new GetSchemesDataAccess(database.WeeeContext); var results = await dataAccess.GetCompleteSchemes(); var handler = new GetSchemesExternalHandler(dataAccess, mapper, A.Fake <IWeeeAuthorization>()); var request = new GetSchemesExternal(); var schemeDataList = new List <SchemeData>(); var result = await handler.HandleAsync(request); } }
public async Task HandleAsync_WithFilterSetToApprovedOrWithdrawn_ReturnsSchemesWithStatusOfApprovedOrWithdrawn() { // Arrange IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); var mapper = new SchemeMap(A.Fake <IMapper>(), A.Fake <IMap <Address, AddressData> >(), A.Fake <IMap <Contact, ContactData> >()); Organisation organisation = Organisation.CreateSoleTrader("Test Organisation"); Scheme schemePending = new Scheme(organisation); schemePending.UpdateScheme("Scheme Pending", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); Scheme schemeApproved = new Scheme(organisation); schemeApproved.UpdateScheme("Scheme Approved", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); schemeApproved.SetStatus(SchemeStatus.Approved); Scheme schemeRejected = new Scheme(organisation); schemeRejected.UpdateScheme("Scheme Rejected", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); schemeRejected.SetStatus(SchemeStatus.Rejected); Scheme schemeWithdrawn = new Scheme(organisation); schemeWithdrawn.UpdateScheme("Scheme Withdrawn", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy <UKCompetentAuthority>()); schemeWithdrawn.SetStatus(SchemeStatus.Approved); schemeWithdrawn.SetStatus(SchemeStatus.Withdrawn); IGetSchemesDataAccess dataAccess = A.Fake <IGetSchemesDataAccess>(); A.CallTo(() => dataAccess.GetSchemes()).Returns( new List <Scheme>() { schemePending, schemeApproved, schemeRejected, schemeWithdrawn }); GetSchemesHandler handler = new GetSchemesHandler( authorization, mapper, dataAccess); // Act GetSchemes request = new GetSchemes(GetSchemes.FilterType.ApprovedOrWithdrawn); List <SchemeData> results = await handler.HandleAsync(request); // Assert Assert.NotNull(results); Assert.Equal(2, results.Count); Assert.Contains(results, r => r.SchemeName == "Scheme Approved"); Assert.Contains(results, r => r.SchemeName == "Scheme Withdrawn"); }
public void Authenticate() { User = UserRepository.GetUser(EmailTextBox.Text); if (User == null) { User = new User { Email = EmailTextBox.Text }; UserExists = false; } else { UserExists = true; } foreach (var data in AuthenticationData) { SchemeMap[data.Scheme](); } OnComplete(AuthenticationData.All(data => data.Authenticated)); }
public async Task HandleAsync_WithFilterSetToApproved_ReturnsSchemesWithStatusOfApproved() { // Arrange IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); IMap<Scheme, SchemeData> schemeMap = new SchemeMap(A.Dummy<IMapper>()); Domain.Organisation.Organisation organisation = Domain.Organisation.Organisation.CreateSoleTrader("Test Organisation"); Scheme schemePending = new Scheme(organisation); schemePending.UpdateScheme("Scheme Pending", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); Scheme schemeApproved = new Scheme(organisation); schemeApproved.UpdateScheme("Scheme Approved", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); schemeApproved.SetStatus(SchemeStatus.Approved); Scheme schemeRejected = new Scheme(organisation); schemeRejected.UpdateScheme("Scheme Rejected", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); schemeRejected.SetStatus(SchemeStatus.Rejected); Scheme schemeWithdrawn = new Scheme(organisation); schemeWithdrawn.UpdateScheme("Scheme Withdrawn", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); schemeWithdrawn.SetStatus(SchemeStatus.Approved); schemeWithdrawn.SetStatus(SchemeStatus.Withdrawn); IGetSchemesDataAccess dataAccess = A.Fake<IGetSchemesDataAccess>(); A.CallTo(() => dataAccess.GetSchemes()).Returns( new List<Scheme>() { schemePending, schemeApproved, schemeRejected, schemeWithdrawn }); GetSchemesHandler handler = new GetSchemesHandler( authorization, schemeMap, dataAccess); // Act GetSchemes request = new GetSchemes(GetSchemes.FilterType.Approved); List<SchemeData> results = await handler.HandleAsync(request); // Assert Assert.NotNull(results); Assert.Equal(1, results.Count); Assert.Contains(results, r => r.SchemeName == "Scheme Approved"); }
public async Task <IActionResult> Post() { var client = new ClovaClient(); var cekRequest = await client.GetRequest( Request.Headers["SignatureCEK"], Request.Body); var cekResponse = new CEKResponse(); switch (cekRequest.Request.Type) { case RequestType.LaunchRequest: { cekResponse.AddText("スキル設定画面で設定したパソコンのアプリケーションを起動します。"); cekResponse.ShouldEndSession = false; break; } case RequestType.IntentRequest: { switch (cekRequest.Request.Intent.Name) { case "LaunchAppIntent": var name = cekRequest.Request.Intent.Slots["name"]; if (SchemeMap.ContainsKey(name.Value)) { var ignore = InvokeAppAsync(cekRequest.Session.User.AccessToken, SchemeMap[name.Value]); cekResponse.AddText($"{name.Value}を起動しました。"); } break; } break; } case RequestType.SessionEndedRequest: { break; } } return(new OkObjectResult(cekResponse)); }
public async Task HandleAsync_Always_ReturnsSchemesOrderedBySchemeName() { // Arrange IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); IMap<Scheme, SchemeData> schemeMap = new SchemeMap(A.Dummy<IMapper>()); Domain.Organisation.Organisation organisation = Domain.Organisation.Organisation.CreateSoleTrader("Test Organisation"); Scheme scheme1 = new Scheme(organisation); scheme1.UpdateScheme("Scheme C", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); scheme1.SetStatus(SchemeStatus.Approved); Scheme scheme2 = new Scheme(organisation); scheme2.UpdateScheme("Scheme A", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); scheme2.SetStatus(SchemeStatus.Approved); Scheme scheme3 = new Scheme(organisation); scheme3.UpdateScheme("Scheme D", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); scheme3.SetStatus(SchemeStatus.Approved); Scheme scheme4 = new Scheme(organisation); scheme4.UpdateScheme("Scheme B", "WEE/11AAAA11/SCH", "WEE1234567", ObligationType.Both, A.Dummy<UKCompetentAuthority>()); scheme4.SetStatus(SchemeStatus.Approved); IGetSchemesDataAccess dataAccess = A.Fake<IGetSchemesDataAccess>(); A.CallTo(() => dataAccess.GetSchemes()).Returns( new List<Scheme>() { scheme1, scheme2, scheme3, scheme4 }); GetSchemesHandler handler = new GetSchemesHandler( authorization, schemeMap, dataAccess); // Act GetSchemes request = new GetSchemes(GetSchemes.FilterType.Approved); List<SchemeData> results = await handler.HandleAsync(request); // Assert Assert.NotNull(results); Assert.Equal(4, results.Count); Assert.Collection(results, r => Assert.Equal("Scheme A", r.SchemeName), r => Assert.Equal("Scheme B", r.SchemeName), r => Assert.Equal("Scheme C", r.SchemeName), r => Assert.Equal("Scheme D", r.SchemeName)); }