public async void DeleteOrganisation_GivenOrganisationWithOrganisationUsers_OrganisationAndOrganisationUsersShouldBeRemoved() { using (var databaseWrapper = new DatabaseWrapper()) { var organisationDataAccess = new OrganisationDataAccess(databaseWrapper.WeeeContext); var organisation = Domain.Organisation.Organisation.CreateSoleTrader(fixture.Create <string>()); databaseWrapper.WeeeContext.Organisations.Add(organisation); await databaseWrapper.WeeeContext.SaveChangesAsync(); databaseWrapper.WeeeContext.OrganisationUsers.Add( new Domain.Organisation.OrganisationUser(Guid.Parse(databaseWrapper.Model.AspNetUsers.First().Id), organisation.Id, UserStatus.Active)); await databaseWrapper.WeeeContext.SaveChangesAsync(); databaseWrapper.WeeeContext.Organisations.Where(o => o.Id == organisation.Id).Should().NotBeEmpty(); databaseWrapper.WeeeContext.OrganisationUsers.Where(o => o.OrganisationId == organisation.Id).Should().NotBeEmpty(); await organisationDataAccess.Delete(organisation.Id); databaseWrapper.WeeeContext.Organisations.Where(o => o.Id == organisation.Id).Should().BeEmpty(); databaseWrapper.WeeeContext.OrganisationUsers.Where(o => o.Id == organisation.Id).Should().BeEmpty(); } }
public async void DeleteOrganisation_GivenInvalidOrganisation_ArgumentExceptionExpected() { using (var databaseWrapper = new DatabaseWrapper()) { var organisationDataAccess = new OrganisationDataAccess(databaseWrapper.WeeeContext); var action = await Xunit.Record.ExceptionAsync(() => organisationDataAccess.Delete(Guid.Empty)); action.Should().BeOfType <ArgumentException>(); } }
public async void DeleteOrganisation_GivenOrganisation_OrganisationShouldBeRemoved() { using (var databaseWrapper = new DatabaseWrapper()) { var organisationDataAccess = new OrganisationDataAccess(databaseWrapper.WeeeContext); var organisation = Domain.Organisation.Organisation.CreateSoleTrader(fixture.Create <string>()); var organisationDontRemove = Domain.Organisation.Organisation.CreateSoleTrader(fixture.Create <string>()); databaseWrapper.WeeeContext.Organisations.Add(organisation); databaseWrapper.WeeeContext.Organisations.Add(organisationDontRemove); await databaseWrapper.WeeeContext.SaveChangesAsync(); databaseWrapper.WeeeContext.Organisations.Where(o => o.Id == organisation.Id).Should().NotBeEmpty(); await organisationDataAccess.Delete(organisation.Id); databaseWrapper.WeeeContext.Organisations.Where(o => o.Id == organisation.Id).Should().BeEmpty(); databaseWrapper.WeeeContext.Organisations.Where(o => o.Id == organisationDontRemove.Id).Should().NotBeEmpty(); } }