/** * Saves the sale tier received in the HTTP request to the database. * @param tiersRequest The HTTP with the sale tier to be stored/updated. * @return HTTP response with the just stored sale tier. */ // TODO: Check for conflicting sale tier configurations (e.g. overlapping start and end dates) // before inserting the received sale tier. @PostMapping(value = "/create", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<List<SaleTierResponse>> createTiers( @RequestBody List<SaleTierRequest> tiersRequest) { List<SaleTierResponse> tiersResponse = tiersRequest.stream().map((request) -> { return saleTierService.saveTransactionless(fromRequestToEntity(request)); }).map((savedEntity) -> fromEntityToResponse(savedEntity)).collect(Collectors.toList()); return ResponseEntity.ok(tiersResponse); }
true ); saleTierService.saveTransactionless(s1); saleTierService.saveTransactionless(s2); LOG.info("Development tiers successfully set-up."); LOG.info("Tier {}: startDate={} endDate={}", s1.getTierNo(), startDateS1, endDateS1);
private SaleTier createAndSaveSaleTier(int tierNo, Date startDate, Date endDate, BigDecimal discount, BigInteger tomicsMax, boolean hasDynamicDuration, boolean hasDynamicMax) { SaleTier t = new SaleTier( tierNo, "test tier " + tierNo, startDate, endDate, discount, BigInteger.ZERO, tomicsMax, hasDynamicDuration, hasDynamicMax); return saleTierService.saveTransactionless(t); }
private void createAndSaveTier() { Date from = Date.from(Instant.EPOCH); Date to = new Date(); BigInteger tomics = monitorService.convertTokensToTomics(new BigDecimal(1000L)) .toBigInteger(); saleTierService.saveTransactionless( new SaleTier(4, "4", from, to, new BigDecimal("0.0"), BigInteger.ZERO, tomics, true, false)); }
@Test public void createTiers_With_Right_Credential() throws Exception { when(saleTierService.getAllSaleTiersOrderByStartDate()) .thenReturn(tiers); Instant now = Instant.now(); SaleTierRequest req1 = new SaleTierRequest(1, "test1", Date.from(now), Date.from(now.plusSeconds(6000)), new BigDecimal("0.5"), new BigInteger("0"), new BigInteger("1000000000"), true, true); List<SaleTierRequest> listRequest = Arrays.asList(req1); SaleTier saleTierEntityRequest = tierController.fromRequestToEntity(req1); when(saleTierService.saveTransactionless(any())).thenReturn(saleTierEntityRequest); MvcResult result = this.mockMvc.perform(post(TIERS_CREATE_ENDPOINT) .with(httpBasic("user", "password")) .content(jsonSaleTierRequest.write(listRequest).getJson()) .contentType(APPLICATION_JSON)) .andExpect(status().isOk()) .andDo(print()) .andReturn(); SaleTierResponse resp1 = new SaleTierResponse(1, "test1", SaleTier.StatusType.ACTIVE, Date.from(now), Date.from(now.plusSeconds(6000)), new BigDecimal("0.5"), new BigInteger("0"), new BigInteger("1000000000")); List<SaleTierResponse> listResponse = Arrays.asList(resp1); assertThat(result.getResponse().getContentAsString()).isEqualTo( jsonSaleTierResponse.write(listResponse).getJson()); }