Skip to content

Commit 97a29d1

Browse files
authored
Merge pull request #42 from Samuel1-ona/main
Remove redundancy
2 parents 3217f12 + 2b76755 commit 97a29d1

File tree

4 files changed

+18
-65
lines changed

4 files changed

+18
-65
lines changed

Scarb.toml

-32
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,3 @@ test = "snforge test"
2323
[profile.dev.cairo]
2424
unstable-add-statements-code-locations-debug-info = true
2525
unstable-add-statements-functions-debug-info = true
26-
27-
28-
29-
# Visit https://foundry-rs.github.io/starknet-foundry/appendix/scarb-toml.html for more information
30-
31-
# [tool.snforge] # Define `snforge` tool section
32-
# exit_first = true # Stop tests execution immediately upon the first failure
33-
# fuzzer_runs = 1234 # Number of runs of the random fuzzer
34-
# fuzzer_seed = 1111 # Seed for the random fuzzer
35-
36-
# [[tool.snforge.fork]] # Used for fork testing
37-
# name = "SOME_NAME" # Fork name
38-
# url = "http://your.rpc.url" # Url of the RPC provider
39-
# block_id.tag = "latest" # Block to fork from (block tag)
40-
41-
# [[tool.snforge.fork]]
42-
# name = "SOME_SECOND_NAME"
43-
# url = "http://your.second.rpc.url"
44-
# block_id.number = "123" # Block to fork from (block number)
45-
46-
# [[tool.snforge.fork]]
47-
# name = "SOME_THIRD_NAME"
48-
# url = "http://your.third.rpc.url"
49-
# block_id.hash = "0x123" # Block to fork from (block hash)
50-
51-
# [profile.dev.cairo] # Configure Cairo compiler
52-
# unstable-add-statements-code-locations-debug-info = true # Should be used if you want to use coverage
53-
# unstable-add-statements-functions-debug-info = true # Should be used if you want to use coverage/profiler
54-
# inlining-strategy = "avoid" # Should be used if you want to use coverage
55-
56-
# [features] # Used for conditional compilation
57-
# enable_for_tests = [] # Feature name and list of other features that should be enabled with it

src/interfaces/IWeaver.cairo

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use starknet::ContractAddress;
22
use starknet::class_hash::ClassHash;
3-
use core::fmt::{Debug, Formatter};
43

54
// *************************************************************************
65
// INTERFACE of WEAVER

src/weaver.cairo

+6-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use core::starknet::ContractAddress;
1+
22

33
#[starknet::contract]
44
pub mod Weaver {
@@ -18,7 +18,6 @@ pub mod Weaver {
1818
get_caller_address,
1919
};
2020

21-
use weaver_contract::interfaces::IWeaver::{IWeaverDispatcher, IWeaverDispatcherTrait};
2221
use weaver_contract::interfaces::IWeaver::{User, ProtocolInfo, TaskInfo};
2322
use weaver_contract::interfaces::IWeaver::IWeaver;
2423
use weaver_contract::interfaces::IWeaverNFT::{IWeaverNFTDispatcher, IWeaverNFTDispatcherTrait};
@@ -103,7 +102,7 @@ pub mod Weaver {
103102
self.emit(Event::UserRegistered(UserRegistered { user: get_caller_address() }));
104103
}
105104

106-
105+
107106
fn mint(ref self: ContractState, task_id: u256) {
108107
let caller = get_caller_address();
109108

@@ -126,7 +125,6 @@ pub mod Weaver {
126125
self.emit(Event::TaskMinted(TaskMinted { task_id, user: caller }));
127126
}
128127

129-
130128

131129
fn protocol_register(ref self: ContractState, protocol_name: ByteArray) {
132130
assert(protocol_name.len() > 0, 'INVALID_PROTOCOL_NAME');
@@ -144,8 +142,6 @@ pub mod Weaver {
144142
}
145143

146144

147-
148-
149145
// Getter functions
150146

151147
fn owner(self: @ContractState) -> ContractAddress {
@@ -164,12 +160,13 @@ pub mod Weaver {
164160
self.task_registry.read(task_id)
165161
}
166162

167-
fn get_registered_protocols(self: @ContractState, address: ContractAddress) -> ProtocolInfo {
163+
fn get_registered_protocols(
164+
self: @ContractState, address: ContractAddress
165+
) -> ProtocolInfo {
168166
self.protocol_registrations.read(address)
169167
}
170168

171169

172-
173170
//Utility functions
174171

175172
fn version(self: @ContractState) -> u16 {
@@ -183,16 +180,12 @@ pub mod Weaver {
183180
self.version.write(self.version.read() + 1);
184181
self.emit(Event::Upgraded(Upgraded { implementation: Imp_hash }));
185182
}
186-
183+
187184

188185
fn set_erc721(ref self: ContractState, address: ContractAddress) {
189186
assert(get_caller_address() == self.owner.read(), 'UNAUTHORIZED');
190187
assert(address.is_non_zero(), 'INVALID_ADDRESS');
191188
self.weaver_nft_address.write(address);
192189
}
193-
194-
195-
196-
197190
}
198191
}

tests/test_weaver_contract.cairo

+12-19
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@ use core::byte_array::ByteArray;
55

66
use snforge_std::{
77
declare, start_cheat_caller_address, stop_cheat_caller_address, ContractClassTrait,
8-
DeclareResultTrait, spy_events, EventSpyAssertionsTrait, get_class_hash
8+
DeclareResultTrait, spy_events, EventSpyAssertionsTrait
99
};
1010

1111
use starknet::{ContractAddress, get_block_timestamp};
1212

1313
use weaver_contract::interfaces::IWeaverNFT::{IWeaverNFTDispatcher, IWeaverNFTDispatcherTrait};
14-
use weaver_contract::interfaces::IWeaver::{IWeaverDispatcher, IWeaverDispatcherTrait, User};
14+
use weaver_contract::interfaces::IWeaver::{IWeaverDispatcher, IWeaverDispatcherTrait};
1515
use weaver_contract::weaver::Weaver::{Event};
16-
use weaver_contract::weaver::Weaver::{UserRegistered , ProtocolRegistered , TaskMinted};
17-
16+
use weaver_contract::weaver::Weaver::{UserRegistered, ProtocolRegistered, TaskMinted};
1817

1918

2019
const ADMIN: felt252 = 'ADMIN';
@@ -94,14 +93,13 @@ fn test_register_user_emit_event() {
9493
let is_registered = weaver_contract.get_register_user(user);
9594
assert!(is_registered.Details == "Test User", "User should be registered");
9695

97-
let expected_event = Event::UserRegistered(UserRegistered{user: user});
96+
let expected_event = Event::UserRegistered(UserRegistered { user: user });
9897
spy.assert_emitted(@array![(weaver_contract_address, expected_event)]);
9998

10099
stop_cheat_caller_address(weaver_contract_address);
101100
}
102101

103102

104-
105103
#[test]
106104
#[should_panic(expected: 'user already registered')]
107105
fn test_already_registered_should_panic() {
@@ -142,7 +140,7 @@ fn test_mint_unregistered_user_panics() {
142140

143141
#[test]
144142
fn test_protocol_register() {
145-
let (weaver_contract_address, nft_address) = __setup__();
143+
let (weaver_contract_address, _) = __setup__();
146144
let weaver_contract = IWeaverDispatcher { contract_address: weaver_contract_address };
147145

148146
let user: ContractAddress = USER();
@@ -160,7 +158,7 @@ fn test_protocol_register() {
160158

161159
#[test]
162160
fn test_protocol_register_emit_event() {
163-
let (weaver_contract_address, nft_address) = __setup__();
161+
let (weaver_contract_address, _) = __setup__();
164162
let weaver_contract = IWeaverDispatcher { contract_address: weaver_contract_address };
165163

166164
let user: ContractAddress = USER();
@@ -173,16 +171,13 @@ fn test_protocol_register_emit_event() {
173171
let protocol_info = weaver_contract.get_registered_protocols(user);
174172
assert!(protocol_info.protocol_name == "Weaver Protocol", "Protocol should be registered");
175173

176-
let expected_event = Event::ProtocolRegistered(ProtocolRegistered{user: user});
174+
let expected_event = Event::ProtocolRegistered(ProtocolRegistered { user: user });
177175
spy.assert_emitted(@array![(weaver_contract_address, expected_event)]);
178176

179177
stop_cheat_caller_address(weaver_contract_address);
180178
}
181179

182180

183-
184-
185-
186181
#[test]
187182
fn test_nft_minted_on_protocol_register() {
188183
let (weaver_contract_address, nft_address) = __setup__();
@@ -211,7 +206,7 @@ fn test_nft_minted_on_protocol_register() {
211206
#[test]
212207
#[should_panic(expected: 'PROTOCOL_ALREADY_REGISTERED')]
213208
fn test_protocol_register_already_registered() {
214-
let (weaver_contract_address, nft_address) = __setup__();
209+
let (weaver_contract_address, _) = __setup__();
215210
let weaver_contract = IWeaverDispatcher { contract_address: weaver_contract_address };
216211

217212
let user: ContractAddress = USER();
@@ -301,7 +296,7 @@ fn test_mint_nft() {
301296

302297
assert!(minted_token_id > 0, "NFT NOT Minted!");
303298

304-
let expected_event = Event::TaskMinted(TaskMinted{ task_id:task_id, user: user });
299+
let expected_event = Event::TaskMinted(TaskMinted { task_id: task_id, user: user });
305300
spy.assert_emitted(@array![(weaver_contract_address, expected_event)]);
306301

307302
stop_cheat_caller_address(weaver_contract_address);
@@ -400,7 +395,7 @@ fn test_mint_nft_after_task_completed() {
400395
#[test]
401396
#[should_panic(expected: 'TASK_ALREADY_EXISTS')]
402397
fn test_mint_task_already_exists() {
403-
let (weaver_contract_address, nft_address) = __setup__();
398+
let (weaver_contract_address, _) = __setup__();
404399
let weaver_contract = IWeaverDispatcher { contract_address: weaver_contract_address };
405400
let user: ContractAddress = USER();
406401

@@ -427,7 +422,7 @@ fn test_mint_task_already_exists() {
427422

428423

429424
#[test]
430-
fn test_nft_was_minted_after_user_registers(){
425+
fn test_nft_was_minted_after_user_registers() {
431426
let (weaver_contract_address, nft_address) = __setup__();
432427
let weaver_contract = IWeaverDispatcher { contract_address: weaver_contract_address };
433428
let nft_dispatcher = IWeaverNFTDispatcher { contract_address: nft_address };
@@ -449,12 +444,11 @@ fn test_nft_was_minted_after_user_registers(){
449444
assert_eq!(mint_timestamp, current_block_timestamp, "Mint timestamp not matched");
450445

451446
stop_cheat_caller_address(weaver_contract_address);
452-
453447
}
454448

455449

456450
#[test]
457-
fn test_nft_was_minted_after_protocol_registers(){
451+
fn test_nft_was_minted_after_protocol_registers() {
458452
let (weaver_contract_address, nft_address) = __setup__();
459453
let weaver_contract = IWeaverDispatcher { contract_address: weaver_contract_address };
460454
let nft_dispatcher = IWeaverNFTDispatcher { contract_address: nft_address };
@@ -476,5 +470,4 @@ fn test_nft_was_minted_after_protocol_registers(){
476470
assert_eq!(mint_timestamp, current_block_timestamp, "Mint timestamp not matched");
477471

478472
stop_cheat_caller_address(weaver_contract_address);
479-
480473
}

0 commit comments

Comments
 (0)