public async Task OffererDeletePhoto() { // Arrange var user = UserRegisterModelFactory.getUserFactory("Offerer").getUser(); var photo = new Photo("Photo", await File.ReadAllBytesAsync("..\\..\\..\\Photo\\image.jpeg"), user.Id); var coupon = CouponModelFactory.Default(); user.AddCoupon(coupon); coupon.AddPhoto(photo); coupon.RemovePhoto(photo.Id); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(user); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.DeleteAsync($"api/coupons/{coupon.Id}/photos/{photo.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var photos = await response.Content.ReadAsAsync <IList <CouponModel> >(); photos.Should().BeNull(); }
protected async Task <(Guid, string)> SetAuthenticationToken(string role) { var userFactory = UserRegisterModelFactory.getUserFactory(role); var userRegisterModel = userFactory.getUserModel(); var userRegisterResponse = await HttpClient.PostAsJsonAsync($"api/v1/auth/register", userRegisterModel); userRegisterResponse.IsSuccessStatusCode.Should().BeTrue(); var user = userFactory.getUser(); var authenticatedUserId = new Guid(userRegisterResponse.Headers.Location.OriginalString); var authenticateModel = new AuthenticationRequest { Username = user.UserName, Password = userRegisterModel.Password }; var userAuthenticateResponse = await HttpClient.PostAsJsonAsync($"api/v1/auth/login", authenticateModel); userAuthenticateResponse.IsSuccessStatusCode.Should().BeTrue(); var authenticationResponseContent = await userAuthenticateResponse.Content.ReadAsAsync <AuthenticationResponse>(); var userAuthenticationToken = authenticationResponseContent.Token; return(authenticatedUserId, userAuthenticationToken); }
public async Task GetRedeemedCoupon() { // Arrange var offerer = UserRegisterModelFactory.getUserFactory("Offerer").getUser(); var coupon = CouponModelFactory.Default(); offerer.AddCoupon(coupon); var student = new Student(this.AuthenticatedUserId); var admin = UserRegisterModelFactory.getUserFactory("Admin").getUser(); var university = InstitutionsModelFactory.University(); var faculty = InstitutionsModelFactory.Faculty(); university.AddFaculty(faculty); faculty.AddStudent(student); var redeemedcoupon = new RedeemedCoupon("Used", coupon.Id); student.AddRedeemedCoupon(redeemedcoupon); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(admin); await couponelContext.Users.AddAsync(offerer); await couponelContext.Universities.AddAsync(university); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.GetAsync($"/api/redeemedCoupons/{redeemedcoupon.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var redeemedcoupons = await response.Content.ReadAsAsync <RedeemedCoupon>(); redeemedcoupons.Should().NotBeNull(); }
public async Task OffererDeleteComment() { // Arrange var user = UserRegisterModelFactory.getUserFactory("Offerer").getUser(); var coupon = CouponModelFactory.Default(); user.AddCoupon(coupon); var comment = new Comment("content", AuthenticatedUserId); coupon.AddComment(comment); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(user); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.DeleteAsync($"api/coupons/{coupon.Id}/comments/{comment.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var comments = await response.Content.ReadAsAsync <IList <CouponModel> >(); comments.Should().BeNull(); }
public async Task GetStudentUser() { // Arrange var admin = UserRegisterModelFactory.getUserFactory("admin").getUser(); var user = UserRegisterModelFactory.getUserFactory("Student").getUser(); var student = new Student(user.Id); var university = InstitutionsModelFactory.University(); var faculty = InstitutionsModelFactory.Faculty(); university.AddFaculty(faculty); faculty.AddStudent(student); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(admin); await couponelContext.Users.AddAsync(user); await couponelContext.Universities.AddAsync(university); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.GetAsync($"api/users/{user.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var users = await response.Content.ReadAsAsync <StudentModel>(); users.Should().NotBeNull(); }
public async Task GetOffererUser() { // Arrange var user = UserRegisterModelFactory.getUserFactory("Offerer").getUser(); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(user); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.GetAsync($"api/users/{user.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var users = await response.Content.ReadAsAsync <UserModel>(); users.Should().NotBeNull(); }
public async Task DeleteUniversity() { // Arrange var user = UserRegisterModelFactory.getUserFactory("Admin").getUser(); var university = InstitutionsModelFactory.University(); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(user); await couponelContext.Universities.AddAsync(university); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.DeleteAsync($"api/universities/{university.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var universities = await response.Content.ReadAsAsync <UniversityModel>(); universities.Should().BeNull(); }
public async Task UpdateUniversity() { // Arrange var user = UserRegisterModelFactory.getUserFactory("Admin").getUser(); var university = InstitutionsModelFactory.University(); university.Update("university", "*****@*****.**", "0456324862", InstitutionsModelFactory.Address()); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(user); await couponelContext.Universities.AddAsync(university); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.GetAsync($"api/universities/{university.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var universities = await response.Content.ReadAsAsync <UniversityModel>(); universities.Address.Street.Should().Be("Bucuriei"); }
public async Task OffererUpdateCoupon() { // Arrange var user = UserRegisterModelFactory.getUserFactory("Offerer").getUser(); var coupon = CouponModelFactory.Default(); user.AddCoupon(coupon); coupon.Update("da", "electronice", new DateTime(2022, 04, 12, 12, 32, 12), "descriere"); await ExecuteDatabaseAction(async couponelContext => { await couponelContext.Users.AddAsync(user); await couponelContext.SaveChangesAsync(); }); //Act var response = await HttpClient.GetAsync($"api/coupons/{coupon.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var coupons = await response.Content.ReadAsAsync <CouponModel>(); coupons.Name.Should().Be("da"); }