public async Task CreateAsyncShouldReturnCorrectId() { const string name = "name"; DateTime activeSince = DateTime.UtcNow.AddDays(-123); ApplicationDbContext dbContext = this.GetNewDbContext(); var creditCompanyRepository = new EfRepository <CreditCompany>(dbContext); ICreditCompanyService creditCompanyService = new CreditCompanyService(creditCompanyRepository); string id = await creditCompanyService.CreateAsync(name, activeSince); CreditCompany creditCompany = dbContext.CreditCompanies .Where(cc => cc.Id == id) .FirstOrDefault(); Assert.NotNull(creditCompany); Assert.Equal(name, creditCompany.Name); Assert.Equal(activeSince, creditCompany.ActiveSince); }
public async Task CreateAsyncShouldThrowIfNameIsAlreadyTaken() { const string name = "name"; ApplicationDbContext dbContext = this.GetNewDbContext(); dbContext.CreditCompanies.Add(new CreditCompany { Name = name, }); await dbContext.SaveChangesAsync(); var creditCompanyRepository = Mock.Of <IRepository <CreditCompany> >(); ICreditCompanyService creditCompanyService = new CreditCompanyService(creditCompanyRepository); await Assert.ThrowsAsync <ServiceException>(async() => { await creditCompanyService.CreateAsync(name, DateTime.Now.AddDays(-1)); }); }